Svi*_*ana 9 groovy jenkins jenkins-pipeline
我正在尝试在Jenkins中执行管道脚本.这是我的脚本:
import com.cloudbees.groovy.cps.NonCPS
@NonCPS
def getJobVariable(jobName,varName){
job = Jenkins.instance.getItemByFullName(jobName)
newJob = job.getLastBuild()
return newJob.getEnvVars().get(varName,null)
}
node{
stage 'props'
api = build job: 'Props'
buildID = api.getNumber()
build job: 'Parameterized', parameters: [[$class: 'StringParameterValue', name: 'string_parameter', value: getJobVariable('Props','filename')]];
}
Run Code Online (Sandbox Code Playgroud)
但我经常得到NotSerializableException.我猜,我的getJobVariable方法有问题.请帮忙
Alg*_*rys 12
我做了一些测试,因为我在管道工作中遇到了同样的问题(对于Matrix).
解决的办法是把def之前job或对象(这里的名字Job你的声明之前).
后NotSerializableException消失.
如果这不能解决您的问题,您还可以@NonCPS在声明之前添加标志.请参阅官方文档:serializing-local-variables.
| 归档时间: |
|
| 查看次数: |
6942 次 |
| 最近记录: |