簡體   English   中英

Jenkins Poll SCM(Git)在Windows master / Build on Linux slave上

[英]Jenkins Poll SCM (Git) on Windows master / Build on Linux slave

這是我的場景:

  • 使用git作為我的SCM
  • Jenkins Job在Linux slave上運行
  • Jenkins master托管在Windows上

我已經配置了兩個Git安裝,如Jenkins路徑中指示的那樣, 用於git Windows master / Linux slave Git安裝設置如下:

  • 名稱: WindowsGit | 路徑: C:\\Program Files\\Git\\bin\\git.exe
  • 名稱: LinuxGit | 路徑: /usr/local/bin/git

因為我需要在linux slave上運行作業,我的作業git配置指向LinuxGit(Git可執行選項)。 工作運行良好,沒有問題。 但是,當我嘗試使用“Poll SCM”選項時,它會中斷。 我相信這里的問題是因為Poll SCM在Windows Master上運行,而這項工作的Git信息指向LinuxGit。 Git Polling Log顯示:

Caused by: java.io.IOException: Cannot run program "/usr/local/bin/git": CreateProcess error=2, The system cannot find the file specified

另一方面,如果我選擇WindowsGit,Git Polling Log就可以了,但是作業本身顯然會失敗,因為它在Linux Slave上運行。

問題:有人可以考慮一種方法,我可以為源代碼管理配置選擇一個Git安裝,為Poll SCM功能選擇另一個嗎?

根據要求,我發布了自己的一般想法的答案,在使用git時在Master Slaves上混合使用Windows / Linux。 這個解決方案甚至允許在多個Windows / Linux從屬組合上運行相同的工作,也不會破壞Master輪詢scm:

無論您使用Jenkins Master平台,都要將默認git安裝配置為指向該平台的有效git。 例如,Windows的c:\\apps\\git\\bin\\git.exe 然后為每個節點配置自定義“ 工具位置 ”。 通過這種方式,主設備將能夠輪詢git以檢查更改並在從設備上觸發作業。 然后Slave將能夠克隆git代碼,因為它具有(Git)Default的自定義位置。 正確配置的步驟:

  1. 管理Jenkins>管理節點
  2. 對於具有除“Git安裝”中提供的git位置之外的git位置的每個節點,執行:
    1. 開放節點配置頁面(配置圖標)
    2. 如果尚未選中,請選中“工具位置”
    3. 點擊“添加”
    4. 在下拉列表中選擇“(Git)Default”
    5. 輸入從節點git安裝的路徑(例如/usr/local/bin/git
  3. 對作業可能運行的每個Linux從站重復步驟2.1到2.5。

linux從屬節點的節點配置應如下所示:

從節點配置

我相信額外的“git安裝”更合適,正如@Jayan所提到的,當你需要多個git安裝或者你需要為某些Jenkins作業運行特定版本的git時。

暫無
暫無

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

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