首页 > 解决方案 > 单个管道映射到多个 git 存储库

问题描述

我们已经配置了 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

标签: jenkinsgroovyjenkins-pipelinejenkins-groovy

解决方案


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

所以它想要一些东西:-

git(分支:branchName,credentialsId:凭据,url:“$ {gitlabSourceBranch}”)


推荐阅读