我希望使用两个Git存储库构建项目。其中一个包含源代码,而另一个具有构建和部署脚本。
我的问题是我需要一个存储库来构建和部署项目的不同部分(大型项目,多个存储库,相同的构建和部署脚本),但Jenkins似乎无法处理这种情况(或者我不知道/没有找到如何处理)。
我的问题是我需要一个存储库来构建和部署项目的不同部分(大型项目,多个存储库,相同的构建和部署脚本),但Jenkins似乎无法处理这种情况(或者我不知道/没有找到如何处理)。
更新
现在 Multiple SCMs 插件已经被弃用,因此用户应该迁移到 Pipeline 插件。
旧回答
是的,Jenkins 可以处理这个问题。只需在源代码管理下使用 Multiple SCMs
,添加您的仓库,然后进入每个仓库的高级部分。在这里,您需要设置Local subdirectory for repo (optional)
和Unique SCM name (optional)
。
您设置的本地子目录将拉取您的仓库,然后您可以按任何顺序构建它们。
根据 harish
的回答,您需要安装Multiple SCMs Plugin才能实现此功能。
来自Petr Mensik的答案是正确的,但是Jenkins似乎默认没有这个功能。需要安装Multiple SCM插件才能获得这个功能:https://wiki.jenkins-ci.org/display/JENKINS/Multiple+SCMs+Plugin
当我查看多个SCM插件的答案时,我有同样的问题。我注意到该插件已被列为过时插件。有一条通知建议使用流水线进行操作。
以下是我如何使用流水线处理此问题的示例配置。
node() {
stage ('Extract') {
parallel 'Extract':{
dir('project1') {
git url: 'ssh://git@githost/project1.git'
}
dir('project2') {
git url: 'ssh://git@githost/project2.git'
}
}
}
}
分享一下我在处理多个源代码管理工具时的经验。如果您想在Jenkins构建中添加多个git存储库,请确保其他git插件版本与Multiple SCM插件兼容。以下是我使用过的插件及其版本列表:
早些时候,我升级到Multiple SCM 0.3,但无法在该部分添加任何git存储库。
祝好, Manu
构建环境
-> 使用秘密文本或文件
-> 添加Git用户名和密码
-> 选择构建步骤
-> 添加执行shell
,执行Windows批处理命令
或PowerShell
-> git clone https://...
如果您没有使用凭据,只需创建脚本即可。