Конвейер Jenkins - невозможно вызвать метод stage () для нулевого объекта - PullRequest
0 голосов
/ 05 мая 2018

У меня есть такой конвейерный скрипт:

node('linux'){
  stage('Setup'){
    echo "Build Stage"

  } stage('Build'){
      echo "Build Stage"

  } stage('Test'){
      echo "Test Stage"
  }  
}

Этап Setup работает нормально, но после этого выдается исключение

java.lang.NullPointerException: Cannot invoke method stage() on null object
at org.codehaus.groovy.runtime.NullObject.invokeMethod(NullObject.java:91)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:48)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.NullCallSite.call(NullCallSite.java:35)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:157)
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)
at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:57)

что может быть не так?

1 Ответ

0 голосов
/ 05 мая 2018
stage('Setup'){
  echo "Build Stage"
} stage('Build'){

stage - это вызов метода, который возвращает null. Ваш stage('Build'){ пытается вызвать объект null, поэтому вы получаете NullPointerException.

Переместите ваш вызов stage на новую строку или добавьте точку с запятой для разделения операторов.

stage('Setup'){
  echo "Build Stage"
}; stage('Build'){
stage('Setup'){
  echo "Build Stage"

} 
stage('Build'){
...