2013-05-14 1422 views
35

我想用兩個Git倉庫建立一個項目。其中一個包含源代碼,另一個包含構建和部署腳本。Jenkins:一個項目的多個Git倉庫

我的問題是我需要建立和部署項目的不同部分(大項目,多個存儲庫,相同的構建和部署腳本)的存儲庫,但詹金斯似乎無法處理這個(或者我不知道/沒有找到如何)。

+0

這是非常相似的http://stackoverflow.com/questions/14843696/checkout-multiple-git-repos-into-same-jenkins-workspace – 2016-11-15 06:40:34

回答

29

UPDATE

多的SCM插件現在已經過時,因此用戶應該遷移到Pipeline plugin

老答案

是,詹金斯可以處理這個問題。只需在源代碼管理下使用Multiple SCMs,添加您的存儲庫,然後轉到每個存儲庫的高級部分。在這裏您需要設置Local subdirectory for repo (optional)Unique SCM name (optional)

您的存儲庫將被拉到您設置的Local子目錄,以便您可以按照您想要的任何順序構建它們。

更新爲harish的答案 - 您需要安裝Multiple SCMs Plugin才能實現此功能。

+0

多SCMs插件現在被列爲棄用。 – 2016-08-21 06:34:26

2

只是在處理Multiple SCM時分享我的經驗。如果你想在你的jenkins版本中添加多個git倉庫,請確保其他git插件版本與Multiple SCM插件兼容。下面是與版本插件,它爲我工作的列表:

  • GitHub的API插件1.44
  • 詹金斯GIT客戶端插件1.6.2
  • 詹金斯GIT插件2.0.1
  • 的Git服務器插件1.2
  • 多個SCM 0.2

早些時候我升級到Multiple SCM 0.3,我無法在該部分添加任何git repo。

RGDS, 馬努

9

我有同樣的問題,當我看着我注意到這個插件現已被列爲棄用多SCM插件答案。有一個建議爲此使用管道的通知。

下面是我如何設法用流水線做到這一點的示例配置。

node() { 
    stage ('Extract') { 
    parallel 'Extract':{ 
     dir('project1') { 
     git url: 'ssh://[email protected]/project1.git' 
     } 
     dir('project2') { 
     git url: 'ssh://[email protected]/project2.git' 
     } 
    } 
    } 
} 
+1

這應該是被接受的答案!你救了我的命。 – renelopez 2016-09-15 22:02:18

0

當您通過Multiple SCM插件添加另一個SCM並選擇Git時。您可以通過「附加行爲」選項指定「檢出到子目錄」以進行回購。 因此,您可以在工作區中擁有多個倉庫。

+0

我意識到這是一個老問題的答案,但我遇到了同樣的問題,並找到了解決方案。 – enkor 2018-02-28 20:56:17