我有一个管道作业,它运行一系列作业(例如,设置>>运行测试>>清洁)。我希望此序列为100个不同的工具运行,每个工具具有不同的参数。完成参数设置。所以我可以传递不同的参数。
我正在将一个参数作为字符串参数传递给管道作为工具列表,它将用逗号分隔工具(例如,tool1,tool2,tool3)
现在,我想在所有工具中更改管道以运行相同的顺序(设置>>运行测试>>清洁),并将工具名称作为参数传递给作业之一。
我当时想我将使用此参数值并用逗号将其吐出,并获取每个工具名称,并在序列周围添加一个for循环。
我可能拥有forloop部分,并且可以多次运行。
for (int i = 0; i < 2; ++i) {
stage('Setup') {
build job: 'setup', parameters: [string(name: 'tool', value:'<tool>')]
}
stage('Build') {
build 'Build Job'
}
}
但是我不知道如何分割参数并为DSL中的forloop每次迭代赋予一个参数。有人可以帮忙吗?
答案 0 :(得分:1)
jenkins中的参数在“ param”变量下可用。您可以使用split ()
函数将字符串拆分为字符串数组。之后,如果要遍历所有字符串,则可以使用for
循环遍历数组,例如:
def tools = params.tool.split (',') // default separator is blanks
for (String part : tools)
{
println (part)
}
有不同的迭代方式,这对我来说似乎很直观。请注意,使用特定的分隔符会使字符串的逗号部分后面出现空格。如果需要,可以使用trim ()
函数将其删除。