jenkins - 单个管道映射到多个 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
..
解决方案
如果您的管道不是多分支管道,您可以只使用“${gitlabSourceBranch}”变量。(如果您使用的是 GITLAB)
所以它想要一些东西:-
git(分支:branchName,credentialsId:凭据,url:“$ {gitlabSourceBranch}”)
推荐阅读
- c# - 为什么将“更改字段跟踪”添加到 Dapper 是好主意还是坏主意?
- python - Python C API:包括“如果__name__ =='__main__':”调用?
- r - 想要创建一列,其值基于 r 中的另一列
- r - R Shiny --> 忽略 AddCircles 函数中的 FillOpacity 参数
- performance - Blazor WebAssembly 反序列化甚至比下载慢得多?怎么了?
- java - 流 API。将Model类的String字段的所有值收集到一个集合中,打印
- java - 使用 Everit 进行 JSON 验证中的外部引用会产生“FileNotFoundException”
- java - 我的画布没有绘制我试图绘制的所有矩形
- reactjs - React Bootstrap 进度条计算颜色
- java - 如何安排计时器在每个月的 10 日运行一次?