5
在編寫Jenkins管道腳本時,訪問並行步驟中的變量是否安全?這個文件不清楚。使用Jenkins管道腳本,從並行步驟訪問全局變量是否安全?
例如,這條管道的代碼修改從並行分支共同計數器和隊列:
def donecount = 0;
def work = [6,5,4,3,2,1,0]
def branches = [:]
for (int i = 0; i < 3; i++) {
branches["worker-${i}"] = {
while (true) {
def item = null
try {
item = work.remove(0)
} catch (java.lang.IndexOutOfBoundsException e) {
break
}
echo "Working for ${item} seconds"
sleep time:item
donecount += 1
}
}
}
branches.failFast = true
parallel branches
echo "Completed ${donecount} tasks"