gpt4 book ai didi

jenkins - 如何避免 Jenkins 多分支管道作业触发自身

转载 作者:行者123 更新时间:2023-12-04 18:01:47 25 4
gpt4 key购买 nike

我希望我的 Jenkins 多分支管道工作避免触发自身。该作业进行提交,因为它增加了版本文件并将其检入源代码管理,这会导致无限循环。

在正常工作中我可以关注 these instructions避免这个循环(虽然这不是最干净的方法)。

这些说明不适用于多分支管道(没有“忽略来自某些用户的提交”选项)。 Jenkins 多分支管道中是否有任何方法可以防止自触发提交?

最佳答案

使用 GIT 时的解决方法:

碰撞版本并提交时,请在提交日志中使用特定消息,例如:[git-version-bump] - 碰撞版本

在 scm checkout 之后,检查最后一次提交是否是版本碰撞提交,如果是,则中止作业。

stage('Checkout') {
checkout scm
if (lastCommitIsBumpCommit()) {
currentBuild.result = 'ABORTED'
error('Last commit bumped the version, aborting the build to prevent a loop.')
} else {
echo('Last commit is not a bump commit, job continues as normal.')
}
}

private boolean lastCommitIsBumpCommit() {
lastCommit = sh([script: 'git log -1', returnStdout: true])
if (lastCommit.contains("[git-version-bump]")) {
return true
} else {
return false
}
}

关于jenkins - 如何避免 Jenkins 多分支管道作业触发自身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45696788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com