我默认使用 Jenkins 2.445 版本,它附带 java 版本 17,但我有一份需要 java 版本 8 的工作,任何人都可以帮助我如何做到这一点。我已经尝试过各种插件
管理 Jenkins -> 工具 -> jdk 安装,但在运行作业时我收到以下错误
Installing JDK jdk-8-oth-JPR
Downloading JDK from https://download.oracle.com/otn/java/jdk/8-b132/jdk-8-linux-x64.tar.gz
Downloading 5307 bytes
Installing /var/jenkins_home/tools/hudson.model.JDK/Java_8/jdk.sh
[Java_8] $ /var/jenkins_home/tools/hudson.model.JDK/Java_8/jdk.sh -noregister
/var/jenkins_home/tools/hudson.model.JDK/Java_8/jdk.sh: 1: cannot open html: No such file
/var/jenkins_home/tools/hudson.model.JDK/Java_8/jdk.sh: 2: cannot open head: No such file
/var/jenkins_home/tools/hudson.model.JDK/Java_8/jdk.sh: 3: cannot open title: No such file
/var/jenkins_home/tools/hudson.model.JDK/Java_8/jdk.sh: 4: cannot open META: No such file
/var/jenkins_home/tools/hudson.model.JDK/Java_8/jdk.sh: 5: cannot open link: No such file
/var/jenkins_home/tools/hudson.model.JDK/Java_8/jdk.sh: 6: cannot open link: No such file
/var/jenkins_home/tools/hudson.model.JDK/Java_8/jdk.sh: 7:
: not found
/var/jenkins_home/tools/hudson.model.JDK/Java_8/jdk.sh: 8: cannot open body: No such file
/var/jenkins_home/tools/hudson.model.JDK/Java_8/jdk.sh: 9: cannot open div: No such file
/var/jenkins_home/tools/hudson.model.JDK/Java_8/jdk.sh: 10: cannot open table: No such file
/var/jenkins_home/tools/hudson.model.JDK/Java_8/jdk.sh: 11: cannot open tr: No such file
/var/jenkins_home/tools/hudson.model.JDK/Java_8/jdk.sh: 12: Syntax error: redirection unexpected
下面是我的管道
pipeline {
agent any
tools{
jdk 'Java 8'
}
stages {
stage('example'){
steps{
sh 'env | grep -e PATH -e JAVA_HOME'
sh 'java --version'
}
}
}
}
我强烈建议使用容器将构建环境与 Jenkins 和/或代理设置分离。使用这种方法,您将能够简单地选择所需的映像及其版本来完全控制您的构建环境,而无需在每次需要更新时重新配置 Jenkins 实例和代理:
pipeline {
agent {
docker {
registryUrl: 'docker registry of your choice goes here'
image: 'jdk image of your choice goes here'
}
}
stages {
stage('example') {
steps {
sh 'env | grep -e PATH -e JAVA_HOME'
sh 'java --version'
}
}
}
}
阅读 Jenkins 文档,了解在管道中使用 Docker 的详细信息。
选择构建镜像时,请注意 https://github.com/docker-library/openjdk/issues/505。如果您在组织内运行此程序,您可能已经批准了内部注册表和映像。