Jenkins在webhook触发时获取错误的分支
Posted
技术标签:
【中文标题】Jenkins在webhook触发时获取错误的分支【英文标题】:Jenkins fetching wrong branch when webhook triggers 【发布时间】:2021-11-24 03:30:10 【问题描述】:当 gitlab feature-0
有提交并触发 jenkins webhook 时,jenkins 从主分支而不是 feature-0
分支拉取。反之亦然,如果 main
分支有提交,jenkins 有时会从 feature-0
分支获取。当 webhook 触发时,如何确保它获取正确的分支?
Fetching changes from the remote Git repository
skipping resolution of commit remotes/origin/feature-0, since it originates from another repository
Multiple candidate revisions
Checking out Revision 1cda3cd8cb747c8588daaf07715499ea37927d8b (origin/main)
Commit message: "Please retry a full pipeline [ci build]"
以上提交信息来自main
分支。 feature-0
分支有不同的提交消息,它触发了 jenkins 作业。
我在分支部分指定了主要和功能。但它没有按预期工作。
【问题讨论】:
您不应该使用变量$GIT_BRANCH
而不是硬编码分支来构建吗? (我不确定变量的名称,它是在 git hook 调用 Jenkins 时提供的)。
【参考方案1】:
解决了:
我必须在 Jenkins 中将分支名称更改为 $gitlabSourceBranch
,并在管道中运行 git checkout 时删除 branch
名称。然后它开始检查触发 webhook 的源分支。
【讨论】:
以上是关于Jenkins在webhook触发时获取错误的分支的主要内容,如果未能解决你的问题,请参考以下文章
如何让通用 Webhook 触发器插件与 Jenkins 中的多分支管道一起使用?
如何在推送某个分支时设置 github webhook 触发器
jenkins系列3-gitlab webhook,jenkins自动构建