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 多分支项目构建

如何让通用 Webhook 触发器插件与 Jenkins 中的多分支管道一起使用?

如何在推送某个分支时设置 github webhook 触发器

jenkins系列3-gitlab webhook,jenkins自动构建

jenkins系列3-gitlab webhook,jenkins自动构建

码云Webhook触发Jenkins自动构建 - Jenkins演练