我也有同样的疑问: 仅在推送到 master 时触发构建
只有那里的答案不正确。有人知道解决办法吗?在推送到除自身之外的任何其他分支上构建某个分支有什么意义?我想说的是,这应该真的是一件很常见的事情……
在“构建触发器”的高级部分中,有一个部分,看起来确实像这样:
但是,这对我不起作用。像这样,它根本不会触发构建。我也尝试只放在那里 master (没有星号),但这没有帮助。
如果我选择第一个选项(允许所有分支...),那么它会起作用,但显然所有对任何分支的推送都会触发在 master 上的构建,这是没有意义的。
要将 GitLab 与 Jenkins 集成,我建议使用 Gitlab 插件
Build when a change is pushed to GitLab
(当您单击高级选项时,会出现秘密令牌,应与 Gitlab Webhooks 中的 Webhook URL 一起使用)。project Settings -> Integrations
中添加 webhook(推送事件),使用来自 Jenkins 作业的 url 和令牌,并按分支名称过滤它们。
更新:所以我最初的观点是过滤 GitLab 上的推送事件,这样 Jenkins 就不需要这样做,但正如你所指出的,它也应该与 Jenkins 过滤器一起使用。
我尝试在工作中过滤分支,詹金斯在我开始输入后显示带有建议分支的下拉列表,然后当我选择分支时会出现一个标签
Matching 1 branch
:
ERROR
指示器,这表明您的 GitLab 连接配置不正确。我建议去测试你与 GitLab 的连接并修复它。