在Jenkins管道中以代码形式执行字符串
我想在Jenkins管道中执行多个并行步骤。我需要的所有变量都通过ArrayList给出。现在我想通过字符串生成器和for循环来构建代码。之后,我想将字符串作为代码执行 伪代码:在Jenkins管道中以代码形式执行字符串,jenkins,groovy,jenkins-pipeline,Jenkins,Groovy,Jenkins Pipeline,我想在Jenkins管道中执行多个并行步骤。我需要的所有变量都通过ArrayList给出。现在我想通过字符串生成器和for循环来构建代码。之后,我想将字符串作为代码执行 伪代码: sb << try{ \n for(i=0; i<TMP; i++) { sb << parallel( build VARIABLE{ def BUILDJOBNAME = build job: BUILDJOBVARIABLE, parame
sb << try{ \n
for(i=0; i<TMP; i++) {
sb <<
parallel(
build VARIABLE{
def BUILDJOBNAME = build job: BUILDJOBVARIABLE, parameters:
[
string(name: 'parametername', value: PARAMETER)
]
}
}
sb << catch(e){
(...)
}
sb我们使用Groovy哈希定义并行步骤,并在一条并行语句中执行它们:
def tests = ["test1", "test2", "test3", "test4"];
try {
def branches = [:];
for (int i = 0; i < tests.size(); i++) {
def test = tests[i];
branches["$test"] = {
try
{
env.test = test;
build job: 'BUILD_JOB', parameters: [string(name: 'NAME', value: test)]
}
catch (err)
{
currentBuild.result = 'FAILURE';
}
}
}
parallel branches
}
deftests=[“test1”、“test2”、“test3”、“test4”];
试一试{
def分支=[:];
对于(int i=0;i
分支中的每个元素都是一个并行执行路径。GroovyShell.evaluate
是一个实例方法而不是类方法。哇,这比我的想法要好得多;)我试试看