我没有找到任何关于这方面的信息,所以我希望你们能帮助我
我有一个托管在 bitbucket 中的 Maven 项目,该项目有一个指向 someurl/bitbucket-hook/的 BitBucket WebHook,此 Hook 会触发由具有以下结构的管道定义的项目的构建:
node {
stage 'Checkout'
git url: 'https:...'
def mvnHome = tool 'M3'
#Various stages here
...
stage 'Release'
sh "${mvnHome}/bin/mvn -B clean install release:prepare release:perform release:clean"
}
问题是maven发布插件将更改推送到BitBucket,这再次触发jenkins脚本,造成构建的无限循环,有没有办法防止这种情况?
我尝试在 Jenkins 中设置一段安静时间,但没有成功
最佳答案
从我的角度来看,您应该有特定的构建和发布作业,并且应该手动触发发布作业。无论如何,如果出于某种原因让它们参与工作,您可以检查上次提交的消息:
node {
git 'https...'
sh 'git log -1 > GIT_LOG'
git_log = readFile 'GIT_LOG'
if (git_log.contains('[maven-release-plugin]')) {
currentBuild.result = 'ABORTED'
return
}
... // continue with release or whatever
}
关于maven - Jenkins pipeline、bitbucket hook 和 maven 发布插件无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38270738/