Я пытаюсь написать файл jenkins, который позволит мне иметь неблокирующий шаг ввода (т. Е. Шаг ввода, при котором вместо полутяжелого веса будет использоваться исполнитель с наименьшим весом).Хотя мне удалось сделать это в тестовом проекте, у меня возникли проблемы с включением раздела среды в мой файл для моего реального проекта.Мой файл Дженкинса в настоящее время выглядит следующим образом ...
pipeline {
agent none
stages {
stage('Env Set Up'){
agent {label 'cm-linux-15916'}
environment {
def JAVA_HOME = tool('1.8.0.65_Linux')
def MAVEN_EXEC = tool('3.3.3_Linux')
PATH="${JAVA_HOME}/jre/bin:${MAVEN_EXEC}/bin:/build/build_tools/nodejs/6.7.0/bin/:$PATH"
}
}
stage('DEV Build & Sonar') {
agent {label 'cm-linux-15916'}
steps {
echo 'DEV BUILD STARTED HERE...'
sh("/build_tools/maven/apache-maven-3.3.3/bin/mvn versions:set -DnewVersion=${Major}.${Minor}.${Point}.${BUILD_NUMBER}-SNAPSHOT -X")
sh("/build_tools/maven/apache-maven-3.3.3/bin/mvn clean org.jacoco:jacoco-maven-plugin:0.7.4.201502262128:prepare-agent deploy sonar:sonar")
}
}
stage('DEV Deploy') {
agent {label 'cm-linux-15916'}
steps {
withCredentials([usernamePassword(credentialsId: '2b714cb5-d136-4555-97bc-f33ba1695a02',
usernameVariable: 'uname',
passwordVariable: 'passwd')])
{
sh('chmod 755 ansible_dev.sh')
sh('./ansible_dev.sh')
sh('chmod 644 ansible_dev.sh')
}
}
}
stage('SIT Build & Deploy?') {
agent none
steps {
timeout(time:24, unit:'HOURS') {
input('Do you want to proceed with SIT deployments?')
}
}
}
Это дает мне
WorkflowScript: 4: Nothing to execute within stage "Env Set Up" @ line 4, column 5.
stage('Env Set Up'){
Я также попробовал подход ниже ...
pipeline {
agent none
environment {
def JAVA_HOME = tool('1.8.0.65_Linux')
def MAVEN_EXEC = tool('3.3.3_Linux')
PATH="${JAVA_HOME}/jre/bin:${MAVEN_EXEC}/bin:/build/build_tools/nodejs/6.7.0/bin/:$PATH"
}
stages {
stage('DEV Build & Sonar') {
agent {label 'cm-linux-15916'}
steps {
echo 'DEV BUILD STARTED HERE...'
sh("/build_tools/maven/apache-maven-3.3.3/bin/mvn versions:set -DnewVersion=${Major}.${Minor}.${Point}.${BUILD_NUMBER}-SNAPSHOT -X")
sh("/build_tools/maven/apache-maven-3.3.3/bin/mvn clean org.jacoco:jacoco-maven-plugin:0.7.4.201502262128:prepare-agent deploy sonar:sonar")
}
}
stage('DEV Deploy') {
agent {label 'cm-linux-15916'}
steps {
withCredentials([usernamePassword(credentialsId: '2b714cb5-d136-4555-97bc-f33ba1695a02',
usernameVariable: 'uname',
passwordVariable: 'passwd')])
{
sh('chmod 755 ansible_dev.sh')
sh('./ansible_dev.sh')
sh('chmod 644 ansible_dev.sh')
}
}
}
stage('SIT Build & Deploy?') {
agent none
steps {
timeout(time:24, unit:'HOURS') {
input('Do you want to proceed with SIT deployments?')
}
}
}
это дает мне
Required context class hudson.model.Node is missing
Perhaps you forgot to surround the code with a step that provides this, such as: node
Я действительно изо всех сил пытаюсь получить правильный синтаксис на этом, без секции окружения я могу заставить все работать как ожидалось.Кто-нибудь может мне помочь?
ОБНОВЛЕНИЕ
Моя последняя попытка - включить переменные env в раздел сценария на первом этапе, как показано ниже
pipeline {
agent none
stages {
stage('DEV Build & Sonar') {
agent {label 'cm-linux-15916'}
steps {
script{
def JAVA_HOME = tool('1.8.0.65_Linux')
def MAVEN_EXEC = tool('3.3.3_Linux')
//PATH="${JAVA_HOME}/jre/bin:${MAVEN_EXEC}/bin:/build/build_tools/nodejs/6.7.0/bin/:$PATH"
PATH="/build/build_tools/jdk/1.8.0.65/jre/bin:/build/build_tools/nodejs/6.7.0/bin/:$PATH"
JAVA_HOME="/build/build_tools/jdk/1.8.0.65/jre/"
echo 'DEV BUILD STARTED HERE...'
sh("/build_tools/maven/apache-maven-3.3.3/bin/mvn versions:set -DnewVersion=${Major}.${Minor}.${Point}.${BUILD_NUMBER}-SNAPSHOT -X")
sh("/build_tools/maven/apache-maven-3.3.3/bin/mvn clean org.jacoco:jacoco-maven-plugin:0.7.4.201502262128:prepare-agent deploy sonar:sonar")
}
}
}
stage('DEV Deploy') {
agent {label 'cm-linux-15916'}
steps {
withCredentials([usernamePassword(credentialsId: '2b714cb5-d136-4555-97bc-f33ba1695a02',
usernameVariable: 'uname',
passwordVariable: 'passwd')])
{
sh('chmod 755 ansible_dev.sh')
sh('./ansible_dev.sh')
sh('chmod 644 ansible_dev.sh')
}
}
}
stage('SIT Build & Deploy?') {
agent none
steps {
timeout(time:24, unit:'HOURS') {
input('Do you want to proceed with SIT deployments?')
}
}
}
Это похоже на то, что я хочу, хотя сейчас я получаю сообщение об ошибке ...
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1:compile (default-compile) on project orc-admin-service-wlp: Fatal error compiling: invalid target release: 1.8 -> [Help 1]
Это похоже на шаг очистки mvn