是否有更简单的方法(最终使用不同的插件)使用上次使用的参数同时重新运行多个作业?
#1 楼
您可以使用管道将作业捆绑在一起,并通过步骤并行或顺序执行它们。您可以在通过管道脚本调用每个作业时将相关参数传递给每个作业。
然后,您只需需要重建一个管道作业。您也可以通过变量将作业与通用的构建名称绑定在一起。
build job: 'buildjob1', parameters: [
[$class: 'StringParameterValue', name: 'BUILD_NAME', value: ${env.JOB_BASE_NAME}-${env.BUILD_NUMBER}"],
[$class: 'StringParameterValue', name: 'FIXEDPARAM', value: 'some-string'],
[$class: 'StringParameterValue', name: 'PARAM1', value: "${PARAM1}"]
]
#2 楼
您还可以构建参数对象列表,然后将其传递到构建步骤:def paramsMap = [:]
paramsMap['param1'] = 'value1'
paramsMap['param2'] = 'value2'
def paramsObjects = []
paramsMap.each {
key, value ->
paramsObjects.push([$class: 'StringParameterValue', name: key, value: value])
}
build job: jobName, parameters: paramsObjects
paramsObjects看起来像这样:
[
[$class:StringParameterValue, name:param1, value:value1],
[$class:StringParameterValue, name:param2, value:value2]
]
评论
我不知道执行多次重建的插件。但是我可以建议采取不同的方法,并使用基于重试的解决方案,其中任何失败的构建本身都会重试(根据某些配置)。这就使得需要多次重建冗余(至少在某些情况下)。