38

我想使用两个 Git 存储库构建一个项目。其中一个包含源代码,而另一个包含构建和部署脚本。

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

4

5 回答 5

31

更新

多个 SCM 插件现已弃用,因此用户应迁移到Pipeline 插件

旧答案

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

您的存储库将被拉到您设置的本地子目录中,以便您可以按照您想要的任何顺序构建它们。

更新每个harish答案 - 您需要安装多个 SCM 插件才能实现此功能。

于 2013-05-14T08:50:30.637 回答
18

Petr Mensik 的回答是正确的,但这似乎在 Jenkins 中默认不可用。需要安装多个 SCM 插件才能获得此功能:https ://wiki.jenkins-ci.org/display/JENKINS/Multiple+SCMs+Plugin

于 2013-06-21T14:49:47.737 回答
9

我有同样的问题,当我查看 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'
      }
    }   
  }
}
于 2016-08-20T16:00:24.747 回答
2

只是分享我在处理多个 SCM 时的经验。如果要在 jenkins 构建中添加多个 git 存储库,请确保其他 git 插件版本与 Multiple SCM 插件兼容。这是一个对我有用的插件列表:

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

早些时候我升级到 Multiple SCM 0.3,我无法在该部分添加任何 git repo。

Rgds,马努

于 2014-02-12T06:19:43.870 回答
0

当您通过 Multiple SCM 插件添加另一个 SCM 并选择 Git 时。您可以通过回购的“其他行为”选项指定“签出到子目录”。因此,您可以在工作区中拥有多个存储库。

于 2018-02-28T20:55:16.820 回答