在我的主管道作业中,我有一组值,每个值都需要触发另一个作业
def map = [FRA1: "192.168.1.1", DEL: "192.168.1.2", NYC: "192.168.1.3"]
for (element in map) {
echo "${element.key} ${element.value}"
stage("Triggering another job- ${element.key}")
build job: 'testjobcheck', parameters: [string(name: 'DC-NAME', value:
"${element.value}")
]
}但是得到下面的异常
an exception which occurred:
in field com.cloudbees.groovy.cps.impl.BlockScopeEnv.locals
in object com.cloudbees.groovy.cps.impl.LoopBlockScopeEnv@71f4bf38
in field com.cloudbees.groovy.cps.impl.ProxyEnv.parent
in object com.cloudbees.groovy.cps.impl.BlockScopeEnv@2a24a0f
in field com.cloudbees.groovy.cps.impl.ProxyEnv.parent
in object com.cloudbees.groovy.cps.impl.BlockScopeEnv@5863a030
in field com.cloudbees.groovy.cps.impl.CpsClosureDef.capture
in object com.cloudbees.groovy.cps.impl.CpsClosureDef@df1925c
in field com.cloudbees.groovy.cps.impl.CpsClosure.def
in object org.jenkinsci.plugins.workflow.cps.CpsClosure2@4ab0695
in field org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.closures
in object org.jenkinsci.plugins.workflow.cps.CpsThreadGroup@107c4dba
in object org.jenkinsci.plugins.workflow.cps.CpsThreadGroup@107c4dba
Caused: java.io.NotSerializableException: java.util.LinkedHashMap$Entry这里有人能帮上忙吗?
发布于 2021-06-28 21:35:51
参见JENKINS-49732。当管道尝试保存(序列化)当前状态时,java.util.LinkedHashMap$Entry出现序列化故障。
作为一种解决方法,您可以使用:
def map = [FRA1: "192.168.1.1", DEL: "192.168.1.2", NYC: "192.168.1.3"]
map.each { key, value ->
echo "${key} ${value}"
stage("Triggering another job- ${key}"){
build job: 'testjobcheck', parameters: [string(name: 'DC-NAME',value: "${value}")]
}
}小问题:当使用阶段块时,请将其与{}一起使用,因为不推荐使用不带块参数的“stage”步骤。
https://stackoverflow.com/questions/68163561
复制相似问题