【问题标题】:groovy.lang.MissingPropertyException: No such property: pipeline for class: groovy.lang.Bindinggroovy.lang.MissingPropertyException:没有这样的属性:类的管道:groovy.lang.Binding
【发布时间】:2018-09-06 00:10:08
【问题描述】:

我有一个简单的jenkinsfile,如下图:

pipeline { 
agent any 
stages {
    stage('Build') { 
        steps { 
            sh './mvnw compile' 
        }
    }
    stage('Test'){
        steps {
            sh './mvnw test'
        }
    }
  }
}

还有一个带有存储库 URL 和凭据的简单 Jenkins 管道(我可以确认凭据很好,否则 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:1)
    at ___cps.transform___(Native Method)
    at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall
 (ContinuationGroup.java:57)
    at 
com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.
dispatchOrArg
(FunctionCallBlock.java:109)
at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.
fixArg(FunctionCallBlock.java:82)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at 
 com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive
 (ContinuationPtr.java:72)
    at com.cloudbees.groovy.cps.impl.ClosureBlock.eval(ClosureBlock.java:46)
    at com.cloudbees.groovy.cps.Next.step(Next.java:83)
    at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:174)
    at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:163)
    at org 
 .codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use
 (GroovyCategorySupport.java:122)
     at org.codehaus.groovy.runtime.GroovyCategorySupport.use
(GroovyCategorySupport.java:261)
    at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:163)
    at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$101
(SandboxContinuable.java:34)
    at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.
 lambda$run0$0(SandboxContinuable.java:59)
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox.
runInSandbox(GroovySandbox.java:108)
    at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0
(SandboxContinuable.java:58)
    at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk
(CpsThread.java:174)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run
(CpsThreadGroup.java:332)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$200
(CpsThreadGroup.java:83)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call
(CpsThreadGroup.java:244)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call
(CpsThreadGroup.java:232)
at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call
(CpsVmExecutorService.java:64)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at hudson.remoting.SingleLaneExecutorService$1.run
(SingleLaneExecutorService.java:131)
at jenkins.util.ContextResettingExecutorService$1.run
(ContextResettingExecutorService.java:28)
at jenkins.security.ImpersonatingExecutorService$1.run
(ImpersonatingExecutorService.java:59)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker
(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run
(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Finished: FAILURE

我是 groovy 的新手,但这似乎很奇怪。我试图在 stackoverflow 上关注其他问题,但没有任何帮助。

如果有人以前遇到过这种情况,您的指导会有所帮助,我们将不胜感激。

非常感谢, -Pankaj

【问题讨论】:

  • 这是较旧的安装吗?你能确定pipeline-model-api插件已经安装了吗?
  • 是的 pipeline-model-api 2.16 已安装。

标签: jenkins groovy jenkins-pipeline


【解决方案1】:

这似乎是“Script Security Plugin 1.45”的插件问题。 就我而言,通过将其更新到 1.46 解决了该问题。

【讨论】:

  • 谢谢峰彦。将脚本安全插件升级到 1.46 就可以了。
【解决方案2】:

通过降级脚本安全插件来修复它。您可以在管理插件中找到它。正如 Minehiko Nohara 所回答的那样。

【讨论】:

    猜你喜欢
    • 2021-01-06
    • 2019-02-10
    • 2013-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多