我在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
块失败了,这对我来说还是很困惑的。
答案 0 :(得分:1)
发生这种情况是因为您正在沙盒模式下运行脚本。诸如管道之类的功能不会在此处发布。在Script Security Plugin 1.44版之前,它已经超出了沙箱范围。
如果您希望运行单个分支管道-只需在作业设置页面底部取消标记“使用Groovy沙箱”即可。 如果您使用的是多分支管道,那么可能唯一的方法就是降级插件。
答案 1 :(得分:1)
脚本安全插件1.45似乎破坏了所有管道代码