2011-03-15 24 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配置中),但它應該工作。

相關問題