Моя конфигурация сборки Jenkins CI / CD работала, и ничего не изменилось до моего последнего запроса на получение, и мне нужно, чтобы это снова заработало.
Многотранспортный конвейер настроен для запуска jenkinsfile
из BitBucket SCM, но теперь происходит сбой со следующей ошибкой;
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)
Подключаемый модуль безопасности сценариев установлен, и в утверждении сценария в процессе работы ничего не указано для подтверждения.
Плагин безопасности Permissive Script установлен и jenkins.xml
изменен, чтобы включить флаг -Dpermissive-script-security.enabled=true
для запуска .war
.
Они были реализованы и работали ранее на основе Как отключить проверки безопасности для сборок конвейера Jenkins
В качестве теста я создал задание Pipeline, которое позволяет включать и отключать Groovy Sandbox. Это было настроено с помощью следующей урезанной версии моего конвейерного скрипта:
#!groovy
pipeline {
agent any
environment {
VERSION = "${env.MAJOR_VERSION}.${env.MINOR_VERSION}"
BUILD_LABEL = "MyProject ${env.VERSION} Build #${env.BUILD_NUMBER}"
BUILD_SOURCESDIRECTORY = "${WORKSPACE}\\src"
}
options {
copyArtifactPermission('MyProject-Deploy')
buildDiscarder(logRotator(numToKeepStr: '5', artifactNumToKeepStr: '5'))
}
parameters {
string (
defaultValue: '3',
description: 'MyProject Major Version',
name : 'MAJOR_VERSION')
string (
defaultValue: '7',
description: 'MyProject Minor Version',
name : 'MINOR_VERSION')
}
stages {
stage('Checkout Source') {
steps {
echo('checkout scm')
}
}
}
}
Если я включил Use Groovy Sandbox
и запустил задание, я получаю ту же ошибку;
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] End of Pipeline
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)
Если я отключу Use Groovy Sandbox
, сценарий конвейера успешно завершится;
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] node
Running on Jenkins in C:\Jenkins-Workspace\Pipeline-Test
[Pipeline] {
[Pipeline] withEnv
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Checkout Source)
[Pipeline] echo
checkout scm
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS
- Как мне убедиться, что у меня чистая конфигурация Jenkins?
- Стоит ли пытаться понизить версию Jenkins с версии 2.121.3?