LE *_*oît 5 java-home jenkins docker automatic-install
詹金斯
从 docker 镜像jenkinsci/docker安装- README.me
插件
配置工具
詹金斯文件
pipeline {
agent any
stages {
stage('Clean') {
steps {
withMaven(maven: 'Default',jdk: 'Java 10') {
sh "echo JAVA_HOME=$JAVA_HOME"
sh "mvn clean"
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
错误
[Pipeline] // stage
[Pipeline] withEnv
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Clean)
[Pipeline] withMaven
[withMaven] 选项:[]
[withMaven] 可用选项:
[withMaven] 使用 JDK 安装 Java 10
[withMaven]使用Maven安装“默认”[Pipeline] {
[Pipeline] sh
+ echo 'JAVA_HOME=/var/jenkins_home/tools/hudson.model.JDK/Java_10'
JAVA_HOME=/var/jenkins_home/tools/hudson.model。 JDK/Java_10
[Pipeline] sh
+ mvn clean -B -V
----- withMaven Wrapper 脚本 -----
JAVA_HOME 环境变量未正确定义
运行此程序需要此环境变量
注意:JAVA_HOME 应该指向JDK 而不是 JRE
[管道] }
问题
我不明白为什么这$JAVA_HOME是不正确的?(应该是 /var/jenkins_home/tools/hudson.model.JDK/Java_10/jdk-10.0.2,不是?)
我尝试在 jenkins 系统配置的全局属性上设置它,但我得到了相同的输出/错误(并且不想在此处设置它,因为可能有其他 java_home 用于其他 java 安装)
我缺少什么?
编辑 向 Jenkins 提出了一个问题(Jira - JENKINS-54959)
编辑 2
经过与 Jenkins 工作人员的一些讨论,我们终于找到了缺少的选项。由于存档包含子目录(此处为jdk-10.0.2),因此我们需要使用 subdir 字段通知解压器
下载并解压的存档的可选子目录,用作工具的主目录
所以现在,我得到了错误
[Pipeline] withMaven
[withMaven] 选项: []
[withMaven] 可用选项: [withMaven] 使用 JDK 安装 Java 10
[withMaven] 使用 Maven 安装 '默认'
[Pipeline] {
[Pipeline] sh
+ echo 'JAVA_HOME=/var/ jenkins_home/tools/hudson.model.JDK/Java_10/jdk-10.0.2'
JAVA_HOME=/var/jenkins_home/tools/hudson.model.JDK/Java_10/jdk-10.0.2
[管道] sh
+ mvn clean -B - V
----- withMaven Wrapper 脚本 -----
/var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/Default/bin/mvn: exec: 第 199 行: /var/jenkins_home/tools/hudson.model.JDK /Java_10/jdk-10.0.2/bin/java: 找不到
[管道] }
| 归档时间: |
|
| 查看次数: |
7631 次 |
| 最近记录: |