我想在Jenkins groovy管道中使用CopyArtfact进行循环。像这样:
for (n in branches_numbers)
{
def buildNum = n.value.toString()
print '------------------------' + n.value + 'n' + ' ' + buildNum
step([$class: 'CopyArtifact', filter: 'Tests_Outputs/*.log', fingerprintArtifacts: true, flatten: true, projectName: 'ola_temp', selector: [$class: 'SpecificBuildSelector', buildNumber: '222']])
}
该步骤未运行。只有第一次迭代的打印工作,然后脚本结束循环。当我把步骤放在循环外面时,它就可以了。
我在将变量放入buildNumber字符串时也遇到了问题。我想做这样的事情:
def buildNum = n.value.toString()
step([$class: 'CopyArtifact', filter: 'Tests_Outputs/*.log', fingerprintArtifacts: true, flatten: true, projectName: 'ola_temp', selector: [$class: 'SpecificBuildSelector', buildNumber: buildNum]])
这个问题的背景是,我在jenkins工作,运行许多构建(有时10个,但有时更多)。我想将所有构建中的工件复制到一个地方。
答案 0 :(得分:0)
我已经知道如何使用步骤迭代for循环。我的'branches_numbers'是一个地图,因此解决方案是迭代值:
for (n in branches_numbers.values)
{
buildNum = n.toString()
step([$class: 'CopyArtifact', filter: 'Tests_Outputs/*.log', fingerprintArtifacts: true, flatten: true, projectName: childJobName, selector: [$class: 'SpecificBuildSelector', buildNumber: buildNum], target: '.'])
或将值放入某个列表然后遍历它。它还使用变量'buildNum'。 这两个问题都解决了。
答案 1 :(得分:0)
您可以遍历Map值列表。
BottomSheetBehavior.BottomSheetCallback