【问题标题】:Jenkins pipeline fails after upgrade (SandboxTransformer.forbidIfFinalizer)升级后 Jenkins 管道失败 (SandboxTransformer.forbidIfFinalizer)
【发布时间】:2019-08-14 13:30:20
【问题描述】:

最近升级了我们安装的 Jenkins(从 2.142 到 2.187,IIRC),但在升级后所有管道 - 甚至是简单的 - 都经常失败。

否则系统不会发出警报 - 一切看起来都好像正常工作。但是升级后,每个管道都获得了 Jenkinsfile,并且失败了:

java.lang.NoSuchMethodError: org.kohsuke.groovy.sandbox.SandboxTransformer.forbidIfFinalizer(Lorg/codehaus/groovy/ast/MethodNode;)V
at com.cloudbees.groovy.cps.SandboxCpsTransformer.visitMethod(SandboxCpsTransformer.java:72)
at com.cloudbees.groovy.cps.CpsTransformer.call(CpsTransformer.java:132)
at com.cloudbees.groovy.cps.SandboxCpsTransformer.call(SandboxCpsTransformer.java:29)
at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1065)
at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:603)
at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:581)
at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:558)
at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268)
at groovy.lang.GroovyShell.parseClass(GroovyShell.java:688)
at groovy.lang.GroovyShell.parse(GroovyShell.java:700)
at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.doParse(CpsGroovyShell.java:142)
at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(CpsGroovyShell.java:127)
at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(CpsFlowExecution.java:561)
at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start(CpsFlowExecution.java:522)
at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:320)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:429)

任何人以前见过这个问题并知道如何解决它?

编辑(即使是基本的 hello world 管道脚本也会失败,所以不是脚本)。

更新到 v2.189 和所有插件到最新,它仍然失败。

【问题讨论】:

  • 问题感觉与stackoverflow.com/questions/52177946/… 非常相似(在沙箱之外我也可以正常工作)+ 我使用的插件的最新版本是 1.44。不过现在应该已经修复了,安装的插件版本是1.60。

标签: jenkins jenkins-pipeline


【解决方案1】:

如上所述,问题出在脚本安全插件上。通过稍微按摩配置和设置来解决此问题。怀疑这个问题是由于之前的安全强化调整与新插件规则不兼容造成的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-04
    • 2015-10-12
    • 2018-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-08
    相关资源
    最近更新 更多