2012-12-06 50 views
0

在我的公司,jenkins配置了一個Windows從屬和(即將推出)一個Mac從屬。我們希望將Glassfish域作爲預構建步驟啓動,並將域停止爲後構建。如何運行取決於jenkins slave OS的jenkins預生成步驟?

根據我的理解,我必須在Windows上運行「Windows批處理文件預生成步驟」,並在Mac上運行「shell腳本預生成步驟」。

我可以把這兩個在預先構建步驟?或者我應該使用其他解決方案(如果是,哪一個)?

回答

2

你不能把兩者都放在同一個工作中。當作業在Mac從機上運行時,「windows批處理」將失敗。當作業在Windows從機上運行時,「shell」將失敗。

你爲什麼要加入?我知道你需要相關的預構建步驟,但是爲什麼你想讓這個工作通用在Mac或Windows上執行?通常運行Mac從站服務於特定目的(例如執行無法在Window上完成的Xcode iOS構建),並限制該作業僅在Mac從服務器上運行

如果您確實需要能夠運行Windows或Mac外殼,那麼您應該看看XShell插件
https://wiki.jenkins-ci.org/display/JENKINS/XShell+Plugin

它允許您在Windows shell或Mac shell上執行「shell」步驟。該插件將負責調用正確的shell,甚至會爲你執行文件分隔符轉換(它將使用Windows的\和Linux/Mac shell的/),但是你放在那裏的命令必須在兩個shell中都可執行(即它不會將rm轉換爲del)。插件頁面舉例說明如何將命令「包裝」到批處理文件和shell文件中。