我有一个Jenkins工作,建立与“origin / feature /**”。
匹配的分支只要存储库挂钩(https://confluence.atlassian.com/display/BITBUCKET/Jenkins+hook+management)对存储库进行了更改,Bitbucket就会触发构建作业。
只要功能分支发生更改,此工作就会正常工作,作业会识别出分支已更改并构建它。
但是,当提交非功能分支(例如,合并开发或主控)时,bitbucket仍会触发该作业。任何功能分支都没有更改,因此它只是再次构建最后构建的功能分支。
有没有办法控制这个?
答案 0 :(得分:8)
经过一番研究,我终于找到了一个很好的解决方案:
的https:// YOUR.JENKINS.SERVER:PORT /到位桶挂机/
通过这种方式,我有三个构建项目,一个用于所有功能,一个用于开发,一个用于发布分支。
答案 1 :(得分:0)
答案在您链接的评论部分。 Bitbucket总是会为你的工作打电话。
你需要Jenkins面前的代理来隔离帖子。
https://github.com/oveddan/gitBuildForwarder
如果这是SVN,我会告诉你如何改变SVN钩子只能根据Regex过滤选择性地触发钩子。
答案 2 :(得分:0)
由于我无法回答评论顶部(为什么)
"你是对的,但我想在jenkins管道工作"
为了让一个管道作业在推送后自动构建(每个钩子),我创建了另一个被配置为由bitbucket / git触发的作业,并且有一个指向管道作业的后续作业生成后行动。这是我可以管理这个的唯一方法
答案 3 :(得分:0)
您可以使用Generic Webhook Trigger Plugin执行此操作。
reference
等变量。$reference
,过滤器正则表达式设置为^(refs/heads/feature/.+)$