Jenkins pipeline、bitbucket hook 和 maven 发布插件无限循环

2023-12-28

我一直找不到这方面的信息,所以希望大家能帮我解决这个问题

我有一个托管在 bitbucket 中的 Maven 项目,它有一个 BitBucket WebHook 指向 someurl/bitbucket-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脚本,造成构建的无限循环,有没有办法防止这种情况?

我尝试在詹金斯设置一个安静的时期,但没有成功


从我的角度来看,您应该有特定的构建和发布作业,并且发布作业应该手动触发。无论如何,如果有某种原因让它们参与工作,您可以检查上次提交的消息:

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

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jenkins pipeline、bitbucket hook 和 maven 发布插件无限循环 的相关文章

随机推荐