2011-03-15 22 views
1

我是Hudson的新手,并且正在设置一项作业,该作业将在多个平台上构建C++源代码的HG存储库。 (Linux,Solaris,FreeBSD和Windows)将Hudson作业配置为在基于Windows和Linux的操作系统上运行

我已经有了除Windows以外的所有平台,它围绕的事实是我有Hudson作业通过shell执行Python脚本。 (即在“建设”一节我在哈德森作业配置“执行shell” =>“命令” =>python ./build_project.py

[win32] $ /bin/sh -xe C:\Users\build\AppData\Local\Temp\hudson3063181706777016948.sh 
The system cannot find the path specified 
FATAL: command execution failed 

有没有一种方法,创建另一个工作以外的只是运行Windows构建,使Hudson执行build_project脚本作为Shell的Unix类型操作系统,并在目标是Windows奴隶时将其作为批处理文件执行?

回答

2

另一种选择是使用Python插件:http://wiki.hudson-ci.org/display/HUDSON/Python+Plugin

有了这个,你只需指定要执行的Python文件。

+0

谢谢。这是我正在寻找的解决方案类型。我想我可以安装Cygwin并使其工作,但这使我可以在不添加额外软件的情况下执行我所需的操作,因为我们在所有构建机器上为Mercurial安装了Python。 – 2011-03-18 12:49:54

1

我建议在您的Windows机器上安装Cygwin,以便它们可以运行UNIX shell脚本。这就是我们所做的,并且工作得很好。

0

创建一个Ant脚本,在的build.xml工作区包含:

<target name="default"> 
    <exec executable="python"> 
     <arg value="./build_project.py"/> 
    </exec> 
</target> 

然后在哈德森,而不是 “执行shell” 做 “调用Ant” 来代替。将目标设为“默认”(不含引号)。你必须在你的Hudson-> Manage Hudson-> Configure System-> Ant部分安装/指向ant(不在工作中,在主Hudson配置中),但它应该工作。

相关问题