jenkins 如何创建一个在生成时可以根据条件禁用自身的作业?

mbskvtky  于 2022-11-02  发布在  Jenkins
关注(0)|答案(1)|浏览(136)

我想创建一个在生成时可以禁用自身的作业
例如:假设我们有:
1.名为“my_job”的作业
1.我们有一个名为“IS_PRODUCTION_SERVER”的参数或全局变量
1.在配置中,我们添加了一个构建步骤,条件类似于“如果IS_PRODUCTION_SERVER,则禁用该作业”(我想问的是如何执行此操作)
然后:

  • 我们使用“build now”选项,作业将开始生成
  • 如果“IS_PRODUCTION_SERVER == true”,则作业将禁用自身

如何创建在生成时可根据条件禁用自身的作业?

  • 我已经添加了我使用“system Groovy脚本”创建的解决方案,但我正在寻找一种更短、更简单的方法。*
trnvg8h3

trnvg8h31#

我们可以通过一个“系统Groovy脚本”构建步骤来实现它:

import jenkins.model.Jenkins

def envVars = new HashMap()
envVars.putAll(build.getEnvironment(listener))
def isProductionServer = envVars['IS_PRODUCTION_SERVER'].toBoolean()
def jobName = envVars['JOB_NAME']

if (isProductionServer) {
  println "This job is being disabled..."
  Jenkins.instance.getItem(jobName).disable()
  return 1
}

相关问题