我们已经配置了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
分支上执行结帐。
如果您的管道不是多分支管道,您可以使用“$ {gitlabSourceBranch}”变量。 (如果您使用的是GITLAB)
所以它想要的东西: -
git(branch:branchName,credentialsId:credential,url:“$ {gitlabSourceBranch}”)