多倉庫代碼部署這個問題其實在13年做配置管理的時候,就遇到過這樣的問題,而最近公司可視化圖項目也需要多個倉庫代碼需要同時下載進行編譯,由於倉庫之間的代碼編譯有依賴關系,所以必須同時下載下來按照順序進行編譯,這時候同事他們寫個父工程來定義了編譯,所以這個時候需要下載visualization-rest ,visualization-admin,visualization-core , visualization-parent 。
1.安裝Multiple SCMs Plugin插件,Jenkins 強大之處就是提供了許多萬能的插件,只要你需求他就會有對應的插件幫助你解決問題;
2.插件安裝成功后,選擇Jenkins 任務在【源碼管理】中會出現一項【Multiple SCMs】配置項目;
3.這時候可以根據自己需求選擇代碼管理的工具,注意這里所選擇的代碼管理工具是我們自己提前安裝的代碼管理插件,只有安裝成功才會在【Add SCM】顯示;
4.根據自己情況配置拉去代碼,這個時候配置就於配置一個倉庫時方法一致,只是由一個變成多個,這也是Multiple SCMs插件重要之處(這里以git為例);
5.此時我們配置完成多個倉庫時,直接來構建任務,會出現第一個配置獲取的代碼被第二個配置的覆蓋,最后只能保留下來最后一次拉去的代碼,這樣不是我們想要的效果,由於拉取代碼會直接將代碼放入任務工程目錄,也就是以你創建任務的名字目錄,所以下一個任務會對上一個覆蓋,這個時候我們需要將每個倉庫拉下代碼放入獨立的目錄中,目錄命名最好根據倉庫命名一致;
6. 此時我們需要添加一個【Additional Behaviours】->【Check out to a sub-directory】,來輔助我們將代碼放入子目錄
7.這樣再次獲取代碼就解決了沖突的問題,最后大家都會放在不同的目錄,此時我們只需要編譯父工程,這樣所有的代碼都構建成功了;