2016-11-11 14 views
1

実行するパイプラインを定義するGroovyファイルをロードするJenkinsジョブがあります。このジョブを実行すると、エラー - groovy.lang.MissingPropertyException: No such property: ​ for class: groovy.lang.Binding(以下のスタックトレース)が報告されます。JenkinsパイプラインジョブレポートGroovyバインディングエラー

これは昨日動作していて、わかりづらく動作を停止しました。私はドキュメントを検索し、エラーを検出し、可能な限り仕事と共通groovyファイルを簡略化しましたが、これまで問題を特定することはできません。

私の質問は、この問題を以前に見たことがありますか?もしそうなら、根本的な問題と解決策は何ですか?

パイプラインのジョブスクリプト:

#!groovy 

node 
{ 
    def pipeline = load "CommonPipeline.groovy" 
    pipeline.run() 
} 

CommonPipeline.groovy:

#!groovy 
​ 
def run() 
{ 
    echo "#### THIS WORKS! ####" 
} 

return this 

スタックトレース:

Started by user jenkins 
[Pipeline] node 
Running on Worker in c:\path\to\script\groovy-test 
[Pipeline] { 
[Pipeline] load 
[Pipeline] { (CommonPipeline.groovy) 
[Pipeline] } 
[Pipeline] // load 
[Pipeline] } 
[Pipeline] // node 
[Pipeline] End of Pipeline 
groovy.lang.MissingPropertyException: No such property: ​ for class: groovy.lang.Binding 
    at groovy.lang.Binding.getVariable(Binding.java:63) 
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:224) 
    at org.kohsuke.groovy.sandbox.impl.Checker$4.call(Checker.java:241) 
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:238) 
    at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.getProperty(SandboxInvoker.java:28) 
    at com.cloudbees.groovy.cps.impl.PropertyAccessBlock.rawGet(PropertyAccessBlock.java:20) 
    at Script1.run(Script1.groovy:2) 
    at ___cps.transform___(Native Method) 
    at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.get(PropertyishBlock.java:74) 
    at com.cloudbees.groovy.cps.LValueBlock$GetAdapter.receive(LValueBlock.java:30) 
    at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.fixName(PropertyishBlock.java:66) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72) 
    at com.cloudbees.groovy.cps.impl.ConstantBlock.eval(ConstantBlock.java:21) 
    at com.cloudbees.groovy.cps.Next.step(Next.java:58) 
    at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:154) 
    at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:18) 
    at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:33) 
    at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:30) 
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox.runInSandbox(GroovySandbox.java:108) 
    at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:30) 
    at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:163) 
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:324) 
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$100(CpsThreadGroup.java:78) 
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:236) 
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:224) 
    at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:63) 
    at java.util.concurrent.FutureTask.run(Unknown Source) 
    at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112) 
    at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) 
    at java.util.concurrent.FutureTask.run(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Finished: FAILURE 

答えて

3

愚かな間違い - ファイル拡張子が.groovyの場合、 "shebang"ヘッダー文#!groovyは必要ありません。私はこれをCommonPipeline.groovyから削除しました。私はこれが何か変わるとは思わなかった!

奇妙なことに、私は昨日作業を停止して以来、これを変更していませんでした。私が考えることができる唯一の変化は、私がインストールしたいくつかのJenkinsプラグインアップデートでした...

他の誰かがこの問題に遭遇した場合のために、この質問と解決策を残します。

+1

私はこの問題を抱えていますが、シバンはありません。なぜそれが起こっているのか分かりません。 – Chris

関連する問題