Jenkins Multibranch Pipeline失败,因为它在Groovy Sandbox中运行

时间:2018-09-05 05:52:30

标签: jenkins-pipeline jenkins-groovy

我的Jenkins CI / CD构建配置正在运行,直到我上次请求请求之前,我什么都没有改变,我需要再次使它运行。

Multibranch Pipeline被配置为从BitBucket SCM运行jenkinsfile,但是现在失败,并出现以下错误;

groovy.lang.MissingPropertyException: No such property: pipeline for class: groovy.lang.Binding
    at groovy.lang.Binding.getVariable(Binding.java:63)
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:130)

Script Security Plugin已安装,并且进程内脚本批准中没有列出要批准的内容。

Permissive Script Security Plugin已安装,jenkins.xml已修改为包含用于运行-Dpermissive-script-security.enabled=true的{​​{1}}标志。

这些是以前基于How can I disable security checks for Jenkins pipeline builds

实施和工作的

作为测试,我创建了一个Pipeline作业,该作业允许启用和禁用Groovy Sandbox。这是使用以下简化版本的管道脚本配置的;

.war

如果我启用了#!groovy pipeline { agent any environment { VERSION = "${env.MAJOR_VERSION}.${env.MINOR_VERSION}" BUILD_LABEL = "MyProject ${env.VERSION} Build #${env.BUILD_NUMBER}" BUILD_SOURCESDIRECTORY = "${WORKSPACE}\\src" } options { copyArtifactPermission('MyProject-Deploy') buildDiscarder(logRotator(numToKeepStr: '5', artifactNumToKeepStr: '5')) } parameters { string ( defaultValue: '3', description: 'MyProject Major Version', name : 'MAJOR_VERSION') string ( defaultValue: '7', description: 'MyProject Minor Version', name : 'MINOR_VERSION') } stages { stage('Checkout Source') { steps { echo('checkout scm') } } } } 并运行了作业,则会遇到相同的错误;

Use Groovy Sandbox

如果我禁用Running in Durability level: MAX_SURVIVABILITY [Pipeline] End of Pipeline groovy.lang.MissingPropertyException: No such property: pipeline for class: groovy.lang.Binding at groovy.lang.Binding.getVariable(Binding.java:63) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:130) ,则管道脚本成功完成;

Use Groovy Sandbox
  • 如何确保我拥有干净的Jenkins配置?
  • 我应该尝试将Jenkins从v2.121.3降级吗?

2 个答案:

答案 0 :(得分:6)

尝试将Script Security插件从v1.45降级到v1.44,然后重新启动Jenkins。

尽管我没有使用Permissive Script Security插件,但在更新插件后自己碰到了这个问题。

答案 1 :(得分:2)

它在脚本安全插件的1.46版中已修复。