【发布时间】:2018-06-29 13:28:53
【问题描述】:
我有一个由 github webhook 触发的 Jenkins Pipeline 作业,因此在提交到 Github 时会触发构建。但是,我只希望在向主分支提交时触发构建。目前任何提交都会触发构建,即使提交是在功能分支上进行的。
有什么方法可以在不借助多分支工作的情况下实现这一目标?
我在 Jenkins 配置、jenkinsfile 或 Github 存储库的 webhook 中看不到任何过滤分支(用于触发器)的方法。
我能找到的唯一特定于分支的信息是代码将从哪个分支构建,但提交到任何其他分支仍会“触发”构建。
谁能帮忙?
【问题讨论】:
-
请参阅GitHub WebHooks triggered globally instead of per branch 的答案,了解您问题的 GitHub Webhook 方面。也许它会给你一些其他的想法。
-
多分支作业类型有什么问题?
-
@StephenKing 我尝试创建一个多分支作业作为解决方案。但是在那种情况下,我很难让 webhook 完全触发构建。所以我最终得到了一个 Jenkins 文件,我可以在其中包含以我推送到的分支为条件的阶段(这是理想的),但是我必须手动触发构建。我将多分支配置设置为使用 webhook。并在我的仓库中创建 webhook。但是推送到任何分支都无法触发构建。 (我会警告这一切,因为我对这一切都很陌生,所以很可能在某个地方犯了一个新手错误!)
-
我建议您尝试修复 webhook,而不是尝试解决此问题。
-
所以我正在尝试多分支构建,但似乎仍然存在构建未触发的问题。在分支源中,我已经按照工具团队的建议设置了“GIT”的源。但是,从这个链接看来,这应该是 GitHub support.cloudbees.com/hc/en-us/articles/… 有谁知道我是否可以使用其中任何一个?还是必须是 github 才能在推送到 github 时自动触发?
标签: jenkins github jenkins-pipeline