从Groovy脚本中保留Jenkins环境变量

时间:2014-07-24 11:46:14

标签: groovy jenkins environment-variables

我有一份工作需要在每次运行时循环编号数据库。我试图这样做而不必写出文件,因为这个工作可以在4个不同的奴隶中的任何一个上执行。

我编写了以下Groovy来尝试完成此操作,但是虽然它使环境变量DATABASE可用于当前线程,但此值不会随作业一起保存;因此,当我尝试在下一次运行时查询它时,它始终为null。

有没有办法可以将此环境变量保存到当前正在运行的作业中以供将来参考?

import hudson.model.*

def job = Hudson.instance.getJob('smoke-test')  
def lastBuild = job.getLastBuild()

def lastDatabase = lastBuild.getEnvironment()["DATABASE"]
println "Last database was " + lastDatabase

def databaseToTest = ""
switch (lastDatabase) {
  case 6..9: 
        databaseToTest=lastDatabase+1
    break
  case 10:
  default:
        databaseToTest=6
}

println "New database is " + databaseToTest

def pa = new ParametersAction([
  new StringParameterValue("DATABASE", databaseToTest.toString())
])
Thread.currentThread().executable.addAction(pa)

0 个答案:

没有答案