我有一份工作需要在每次运行时循环编号数据库。我试图这样做而不必写出文件,因为这个工作可以在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)