【问题标题】:Single pipeline mapped to multiple git repositories单个管道映射到多个 git 存储库
【发布时间】:2019-07-26 07:12:23
【问题描述】:

我们已经配置了 8 个 git repos webhook 映射到单个管道(Jenkins)。

这是一个脚本化的管道(groovy)。

单个管道会根据 8 个存储库中的任何一个上发生的推送/合并事件触发。

管道应该根据触发管道的存储库签出develop 分支。 env.BRANCH_NAME == 'develop' 表示推送的分支是 develop

因此,触发时,groovy 脚本将执行git(branch: branchName, credentialsId: credential, url: "${env.GIT_URL_1}")


脚本化管道能否依赖env.GIT_URL_N 提供有关哪个存储库(.git) 触发了脚本化管道的信息?这样 groovy 脚本就可以读取 env.GIT_URL_N 并在 develop 分支上执行结帐..

https://github.com/danger/danger/pull/607

【问题讨论】:

    标签: jenkins groovy jenkins-pipeline jenkins-groovy


    【解决方案1】:

    如果您的管道不是多分支管道,您可以只使用“${gitlabSourceBranch}”变量。 (如果您使用 GITLAB

    所以它想要一些东西:-

    git(branch: branchName, credentialsId: credential, url: "${gitlabSourceBranch}")

    【讨论】:

    • 如何获取分支名称?
    • ${BRANCH_NAME} 或 env.BRANCH_NAME
    • ${BRANCH_NAME}${env.BRANCH_NAME} 有何不同?
    • 阅读第三个问题here${env.gitlabSourceBranch} 不起作用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-06
    • 2012-12-31
    • 2011-12-20
    • 2017-03-06
    • 1970-01-01
    • 1970-01-01
    • 2011-12-09
    相关资源
    最近更新 更多