У меня проблема с запуском простого конвейера Java Maven.Используемая команда maven не может использовать ожидаемый JDK по неизвестной причине.
- недавно установленный Jenkins, запущенный из образа докера jenkinsci / blueocean: последний
- настроил Oracle JDK 9 и Maven 3.5.4 на панели настроек Jenkins Tools
Содержимое Jenkinsfile:
pipeline {
agent any
tools {
jdk 'java9'
maven 'Maven3.5'
}
stages {
stage ('Initialize') {
steps {
sh '''
echo "PATH = ${PATH}"
echo "M2_HOME = ${M2_HOME}"
echo "JAVA_HOME = ${JAVA_HOME}"
'''
}
}
stage ('Build') {
steps {
sh 'java -version'
sh 'mvn --version'
}
}
}
}
Вывод сценария этапа «Инициализация»
PATH = /var/jenkins_home/tools/hudson.model.JDK/java9/bin:/var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/Maven3.5/bin:/var/jenkins_home/tools/hudson.model.JDK/java9/bin:/var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/Maven3.5/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin
M2_HOME = /var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/Maven3.5
JAVA_HOME = /var/jenkins_home/tools/hudson.model.JDK/java9
Это выглядит актуально для меня,M2_HOME и JAVA_HOME указывают на ожидаемый путь инструментов Jenkins.
Вывод сценария "Build" "java -version"
+ java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (IcedTea 3.10.0) (Alpine 8.191.12-r0)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
Похоже, это установленная Java Jenkinsхост-система docker
Вывод сбоя сценария "Build" "mvn -version":
mvn --version
/var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/Maven3.5/bin/mvn: exec: line 191: /var/jenkins_home/tools/hudson.model.JDK/java9/bin/java: not found
script returned exit code 127
Если я зайду в докер-контейнер Jenkins, я найду корзину Java по указанному пути.
Где моя ошибка?Почему Maven не может найти Java?
Это проблема с разрешением?Докер-контейнер Jenkins использует том докера: -v jenkins-data:/var/jenkins_home
.
Best, Lars