我有两个阶段,我想将信息对象及其属性共享给第二阶段
stage("Enter deploy information")
{
options
{
timeout(time: 3, unit: 'MINUTES')
}
steps
{
script
{
env.info = askForDeployInformation()
}
}
}
stage('Get artifact')
{
steps
{
customCopyArtifacts(env.info.BranchName, env.info.BuildNumber)
}
}
但这失败,并显示以下错误:
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: No such field found: field java.lang.String BranchName
11:56:44 at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.unclassifiedField(SandboxInterceptor.java:425)
11:56:44 at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:409)
11:56:44 at org.kohsuke.groovy.sandbox.impl.Checker$7.call(Checker.java:353)
11:56:44 at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:357)
11:56:44 at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.getProperty(SandboxInvoker.java:29)
11:56:44 at com.cloudbees.groovy.cps.impl.PropertyAccessBlock.rawGet(PropertyAccessBlock.java:20)
11:56:44 at WorkflowScript.run(WorkflowScript:24)
11:56:44 at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.delegateAndExecute(ModelInterpreter.groovy:137)
如何在环境中存储“复杂”变量?
答案 0 :(得分:0)
您不能在环境变量中存储复杂的对象。这适用于我所知道的所有操作系统。只能在其中存储字符串。您可以分配数字或布尔值:
env.VAR_1 = 12
env.VAR_2 = true
但是无论如何,它们都将转换为字符串(分别为"12"
和"true"
)。