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