我想使用两个 Git 存储库构建一个项目。其中一个包含源代码,而另一个包含构建和部署脚本。
我的问题是我需要一个存储库来构建和部署项目的不同部分(大项目、多个存储库、相同的构建和部署脚本),但 Jenkins 似乎无法处理这个(或者我没有不知道/不知道如何)。
我想使用两个 Git 存储库构建一个项目。其中一个包含源代码,而另一个包含构建和部署脚本。
我的问题是我需要一个存储库来构建和部署项目的不同部分(大项目、多个存储库、相同的构建和部署脚本),但 Jenkins 似乎无法处理这个(或者我没有不知道/不知道如何)。
更新
多个 SCM 插件现已弃用,因此用户应迁移到Pipeline 插件。
旧答案
是的,詹金斯可以处理这个。只需Multiple SCMs
在源代码管理下使用,添加您的存储库,然后转到每个存储库的高级部分。在这里你需要设置Local subdirectory for repo (optional)
和Unique SCM name (optional)
。
您的存储库将被拉到您设置的本地子目录中,以便您可以按照您想要的任何顺序构建它们。
更新每个harish
答案 - 您需要安装多个 SCM 插件才能实现此功能。
Petr Mensik 的回答是正确的,但这似乎在 Jenkins 中默认不可用。需要安装多个 SCM 插件才能获得此功能:https ://wiki.jenkins-ci.org/display/JENKINS/Multiple+SCMs+Plugin
我有同样的问题,当我查看 Multiple SCM plugin answer 时,我注意到这个插件现在被列为已弃用。有一个通知建议为此使用管道。
下面是我如何使用管道做到这一点的示例配置。
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 构建中添加多个 git 存储库,请确保其他 git 插件版本与 Multiple SCM 插件兼容。这是一个对我有用的插件列表:
早些时候我升级到 Multiple SCM 0.3,我无法在该部分添加任何 git repo。
Rgds,马努
当您通过 Multiple SCM 插件添加另一个 SCM 并选择 Git 时。您可以通过回购的“其他行为”选项指定“签出到子目录”。因此,您可以在工作区中拥有多个存储库。