Декларативный конвейер Jenkinsfile - нет такого класса конвейера свойств

Я создал базовый декларативный конвейер на Дженкинс. Когда я запускаю сборку, она выдает следующую ошибку

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 по умолчанию настроен с подключаемыми модулями по умолчанию последней версии. Дженкинсфайл показан ниже

pipeline {
  agent any

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

Похоже, pipeline блок терпит неудачу, когда Дженкинс читает Jenkinsfile, что довольно запутанно в Jenkinsfile, выглядит хорошо для меня.

2 ответа

Кажется, что плагин Script Security 1.45 сломал весь конвейерный код

Это произошло потому, что вы запускаете скрипт в режиме песочницы. Такие функции, как конвейер, там не публикуются. Это было из песочницы до версии 1.44 плагина безопасности скрипта.

Если вы хотите запустить конвейер с одной веткой - просто снимите флажок "Использовать Groovy Sandbox" внизу страницы настроек вашей работы. Если вы используете многоотраслевой конвейер, то, возможно, единственный способ для вас - понизить версию плагина.

Другие вопросы по тегам