Build 将Hudson作业配置为同时在基于Windows和Linux的操作系统上运行';s 我是Hudson的新手,正在做一个在多个平台上构建一个C++源的HG存储库的工作。(Linux、Solaris、FreeBSD和Windows)

Build 将Hudson作业配置为同时在基于Windows和Linux的操作系统上运行';s 我是Hudson的新手,正在做一个在多个平台上构建一个C++源的HG存储库的工作。(Linux、Solaris、FreeBSD和Windows),build,build-process,hudson,build-automation,Build,Build Process,Hudson,Build Automation,除了Windows之外,我所有的平台都在工作,它围绕着这样一个事实:我有Hudson任务,通过shell执行Python脚本。(即,在“构建”部分下的哈德逊作业配置中,我有“执行Shell”=>“命令”=>python./Build_project.py) 除了创建另一个作业来运行Windows build外,还有什么方法可以让Hudson将build_项目脚本作为Unix类型操作系统的Shell执行,并在目标是Windows从系统时将其作为批处理文件执行?我建议在Windows框上安装Cygw

除了Windows之外,我所有的平台都在工作,它围绕着这样一个事实:我有Hudson任务,通过shell执行Python脚本。(即,在“构建”部分下的哈德逊作业配置中,我有“执行Shell”=>“命令”=>
python./Build_project.py


除了创建另一个作业来运行Windows build外,还有什么方法可以让Hudson将build_项目脚本作为Unix类型操作系统的Shell执行,并在目标是Windows从系统时将其作为批处理文件执行?

我建议在Windows框上安装Cygwin,以便它们可以运行Unix Shell脚本。这就是我们所做的,它工作得非常好。

在您的工作区中创建一个ant脚本build.xml,它包含:



然后在Hudson中,用“调用Ant”代替“执行Shell”。将目标设置为“默认”(无引号)。您必须在Hudson->Manage Hudson->Configure System->ant部分(不在作业中,在主Hudson配置中)安装/指向ant,但它应该可以工作

另一个选项是使用python插件:


这样,您只需指定应该执行的python文件。

谢谢。这就是我一直在寻找的解决方案。我想我可以安装Cygwin并使其正常工作,但这允许我在不添加额外软件的情况下完成所需的工作,因为我们在所有构建机器上都安装了针对Mercurial的Python。
[win32] $ /bin/sh -xe C:\Users\build\AppData\Local\Temp\hudson3063181706777016948.sh
The system cannot find the path specified
FATAL: command execution failed
<target name="default">
    <exec executable="python">
        <arg value="./build_project.py"/>
    </exec>
</target>