一尘不染

Jenkins管道,Bitbucket挂钩和Maven发布插件无限循环

jenkins

我还没有找到任何有关此的信息,所以我希望你们能在这一方面帮助我

我在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脚本,使构建无限循环,是否有办法防止这种情况发生?

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


阅读 367

收藏
2020-07-25

共1个答案

一尘不染

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

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

}
2020-07-25