Jenkinsfile声明性管道-没有此类属性管道类

时间:2018-09-05 05:40:41

标签: jenkins groovy jenkins-pipeline jenkins-declarative-pipeline

我在Jenkins上创建了一个基本的声明性管道。当我运行构建时,它会吐出以下错误

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)
    at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:155)
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:159)
    at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:17)
    at WorkflowScript.run(WorkflowScript:2)
    at ___cps.transform___(Native Method)

Jenkins服务器使用最新版本的默认插件设置为默认。 Jenkinsfile如下所示

pipeline {
  agent any

   stages {
      stage('Sample Stage') {
          steps {
              sh '''
                ls
              '''
          }
      }
   }
}

当Jenkins读取Jenkinsfile时,似乎pipeline块失败了,这对我来说还是很困惑的。

2 个答案:

答案 0 :(得分:1)

发生这种情况是因为您正在沙盒模式下运行脚本。诸如管道之类的功能不会在此处发布。在Script Security Plugin 1.44版之前,它已经超出了沙箱范围。

如果您希望运行单个分支管道-只需在作业设置页面底部取消标记“使用Groovy沙箱”即可。 如果您使用的是多分支管道,那么可能唯一的方法就是降级插件。

答案 1 :(得分:1)

脚本安全插件1.45似乎破坏了所有管道代码