【问题标题】:Jenkins: Multiple Git repositories for one projectJenkins:一个项目的多个 Git 存储库
【发布时间】:2013-05-08 10:33:38
【问题描述】:

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

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

【问题讨论】:

标签: git deployment build jenkins


【解决方案1】:

更新

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

旧答案

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

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

根据harishs 的回答更新 - 您需要安装Multiple SCMs Plugin 才能实现此功能。

【讨论】:

  • Multiple SCMs Plugin 现在被列为已弃用。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    我有同样的问题,当我查看 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'
          }
        }   
      }
    }
    

    【讨论】:

    • 这应该是公认的答案!你救了我的命。
    【解决方案4】:

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

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

    之前我升级到 Multiple SCM 0.3,我无法在该部分添加任何 git repo。

    Rgds, 手动

    【讨论】:

      【解决方案5】:

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

      【讨论】:

      • 我意识到这是一个老问题的答案,但我遇到了同样的问题并找到了解决方案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-13
      • 1970-01-01
      • 2011-12-09
      • 1970-01-01
      • 2013-10-21
      • 1970-01-01
      • 2019-02-26
      相关资源
      最近更新 更多