jenkins:一个项目的多个Git仓库

我想用两个Git仓库build立一个项目。 其中一个包含源代码,另一个包含构build和部署脚本。

我的问题是,我需要有一个存储库,用于构build和部署项目的不同部分(大项目,多个存储库,相同的构build和部署脚本),但Jenkins似乎无法处理这个问题(或者我不'知道/没有find如何)。

UPDATE

现在多个SCMs插件已被弃用,所以用户应该迁移到Pipeline插件 。

老答案

是的,jenkins可以解决这个问题。 只需在源代码pipe理下使用Multiple SCMs ,添加您的存储库,然后转到每个存储库的高级部分。 在这里,您需要设置Local subdirectory for repo (optional)Unique SCM name (optional)

您的存储库将被拉到您已设置的本地子目录,以便您可以按任意顺序构build它们。

更新per harish的答案 – 您需要安装Multiple SCMs Plugin才能实现此function。

来自Petr Mensik的回答是正确的,但Jenkins似乎并没有默认提供这个function。 需要安装Multiple SCM插件来获得这个function: https : //wiki.jenkins-ci.org/display/JENKINS/Multiple+SCMs+Plugin

我有同样的问题,当我看着多SCM插件的答案我注意到这个插件现在被列为弃用。 有一个build议使用这个pipe道的通知。

下面是一个示例configuration我如何设法做到这一点的pipe道。

 node() { stage ('Extract') { parallel 'Extract':{ dir('project1') { git url: 'ssh://git@githost/project1.git' } dir('project2') { git url: 'ssh://git@githost/project2.git' } } } } 

在处理多个SCM时分享我的经验。 如果你想在你的jenkins build中添加多个git仓库,请确保其他的git插件版本与Multiple SCM插件兼容。 以下是适用于我的版本的插件列表:

  • GitHub API插件1.44
  • Jenkins GIT客户端插件1.6.2
  • jenkinsGIT插件2.0.1
  • Git服务器插件1.2
  • 多个SCM 0.2

早些时候,我升级到多个SCM 0.3,我无法添加任何git回购在该部分。

Rgds,Manu