Kai*_*Kai 6 continuous-integration jenkins bitbucket-server
我们看到 Jenkins 多分支管道的多个构建由 Bitbucket 中的相同合并提交触发。
一个构建被标记为触发:“Branch event at”
另一个由:“提交通知”
我们在插件中设置了 Jenkins 网址
Bitbucket 服务器 Webhook 到 Jenkins
并在 Jenkinsfile 设置中有一个我们的触发器,如下所示:
triggers {
pollSCM ""
cron "H 0 * * *"
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,似乎有几个老问题没有具体的答案。
看起来:Branch API Plugin和 the 都Git client plugin在向 Jenkins 发送触发构建的事件。
我们通过抑制自动触发解决了这个问题。
这可以在 UI 中完成,只需转到您的作业,从左侧选择配置,然后添加属性
抑制自动 SCM 触发。
或者,对于代码解决方案(我最终使用的),将其添加到 Seedjob.groovy 中,如下所示:
multibranchPipelineJob("${service.name}-build") {
// ... unrelated code omitted
configure { project ->
project.remove(project / 'sources' / 'data' / 'jenkins.branch.BranchSource' / 'strategy' / 'properties')
def s = project / 'sources' / 'data' / 'jenkins.branch.BranchSource' / 'strategy' {
properties(class: 'java.util.Arrays$ArrayList') {
a(class: 'jenkins.branch.NoTriggerBranchProperty') {
'jenkins.branch.NoTriggerBranchProperty' ''
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
更新:
朱利安的答案似乎有效,但有一个错误,它不会自动触发推送到功能分支。在我们的 Jenkinsfile 中我们添加了:
properties([overrideIndexTriggers(true)])
Run Code Online (Sandbox Code Playgroud)
尽管我们的种子作业中有 NoTriggerBranchProperty,这确保了 git commit 仍然会触发构建。
| 归档时间: |
|
| 查看次数: |
2791 次 |
| 最近记录: |