簡體   English   中英

如何運行依賴於jenkins slave OS的jenkins預構建步驟?

[英]How to run a jenkins pre-build step that depends upon the jenkins slave OS?

在我的公司,jenkins配置了一個Windows奴隸和(即將推出)一個Mac奴隸。 我們希望將Glassfish域作為預構建步驟啟動,並將域作為構建后停止。

根據我的理解,我必須在Windows上運行“Windows批處理文件預構建步驟”,並在Mac上運行“shell腳本預構建步驟”。

我可以將它們都放在預構建步驟中嗎? 或者我應該使用其他解決方案(如果是,哪一個)?

你不能把兩者放在同一份工作上。 當作業在Mac slave上運行時,“windows batch”將失敗。 當作業在Windows slave上運行時,“shell”將失敗。

你為什么要加兩個? 我知道您需要相關的預構建步驟,但為什么要嘗試在Mac或Windows上執行通用作業? 通常運行Mac從站服務於特定目的(例如執行無法在窗口上執行的Xcode iOS構建),並且您將該作業限制為僅在Mac從站上運行

如果你真的需要能夠運行Windows或Mac shell,那么你應該看看XShell插件
https://wiki.jenkins-ci.org/display/JENKINS/XShell+Plugin

它允許您在Windows shell或Mac shell上執行“shell”步驟。 該插件將負責調用正確的shell,甚至會為您執行文件分隔符轉換(它將使用\\用於Windows,和/用於Linux / Mac shell),但是您放在那里的命令必須在兩個shell中都可執行(即它不會為你翻譯rmdel )。 插件頁面給出了如何將命令“包裝”到批處理和shell文件中的示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM