pipeline 循環不可序列化參數 如map的解決方法java
problem:node
java.io.NotSerializableException: java.util.LinkedHashMap$Entry
solution:code
node { .... for (it2 in mapToList(depmap)) { name = it2[0] revision = it2[1] } } @NonCPS def mapToList(depmap) { def dlist = [] for (entry in depmap) { dlist.add([entry.key, entry.value]) } dlist }
use unserializable type like map etc. in each() iteration or for() iteration would cause the problemip
map.each{ k, v -> println "${k}:${v}" } map.each { k, v -> println "$k := $v" }
其餘參考:jenkins
@NonCPS def mapToList(depmap) { def dlist = [] for (def entry2 in depmap) { dlist.add(new java.util.AbstractMap.SimpleImmutableEntry(entry2.key, entry2.value)) } dlist } ---- for (def e in mapToList(map)) { println "key = ${e.key}, value = ${e.value}" } http://stackoverflow.com/questions/40159258/impossibility-to-iterate-over-a-map-using-groovy-within-jenkins-pipeline