Jenkins:一个项目的多个Git存储库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins:一个项目的多个Git存储库相关的知识,希望对你有一定的参考价值。
我想使用两个Git存储库构建一个项目。其中一个包含源代码,而另一个包含构建和部署脚本。
我的问题是我需要有一个存储库来构建和部署项目的不同部分(大项目,多个存储库,相同的构建和部署脚本),但Jenkins似乎无法处理这个问题(或者我不知道)知道/没找到怎么样)。
UPDATE
现在不推荐使用多个SCM插件,因此用户应该迁移到Pipeline plugin。
老答案
是的,詹金斯可以解决这个问题。只需在源代码管理下使用Multiple SCMs
,添加您的存储库,然后转到每个存储库的“高级”部分。在这里你需要设置Local subdirectory for repo (optional)
和Unique SCM name (optional)
。
您的存储库将被拉到您设置的Local子目录,然后您可以按照您想要的任何顺序构建它们。
根据harish
s更新答案 - 您需要安装Multiple SCMs Plugin才能实现此功能。
来自Petr Mensik的回答是正确的,但詹金斯默认情况下似乎没有。需要安装Multiple SCM插件才能获得此功能:https://wiki.jenkins-ci.org/display/JENKINS/Multiple+SCMs+Plugin
我有同样的问题,当我看到Multiple SCM插件的答案时,我注意到这个插件现在被列为已弃用。有一条通知建议使用管道。
下面是我如何通过管道设法完成此操作的示例配置。
node() {
stage ('Extract') {
parallel 'Extract':{
dir('project1') {
git url: 'ssh://git@githost/project1.git'
}
dir('project2') {
git url: 'ssh://git@githost/project2.git'
}
}
}
}
在处理Multiple SCM时,只需分享我的经验。如果要在jenkins构建中添加多个git存储库,请确保其他git插件版本与Multiple SCM插件兼容。这是一个包含版本的插件列表,对我有用:
- GitHub API插件1.44
- Jenkins GIT客户端插件1.6.2
- Jenkins GIT插件2.0.1
- Git Server插件1.2
- 多个SCM 0.2
之前我升级到Multiple SCM 0.3,我无法在该部分添加任何git repo。
Rgds,Manu
当您通过Multiple SCM插件添加另一个SCM并选择Git时。您可以通过回购的“附加行为”选项指定“签出到子目录”。因此,您可以在工作区中拥有多个存储库。
以上是关于Jenkins:一个项目的多个Git存储库的主要内容,如果未能解决你的问题,请参考以下文章
使用 Jenkins 管道将多个 git 存储库签出到同一个作业中
为多个 Git (GitHub) 存储库重用一个 Jenkins 作业