- 指定 jdk 版本打包
JAVA_HOME=/usr/java/jdk-17.0.5 mvn clean package -Dmaven.test.skip=true -U
这样执行命令不会改变系统给本身的环境变量
2.nohup 进程被杀死解决办法
source /etc/profile
export JENKINS_NODE_COOKIE=dontKillMe
3.docker 中使用 jenkins 构建 java17,jdk 版本冲突,不能在容器中直接修改 JAVA_HOME 否则会导致 jenkins 出问题,所以用了另一个方法,就是修改 mvn 命令的脚本,具体如下
JAVA_HOME=/usr/local/jdk/jdk-17.0.5
if [ -z "$JAVA_HOME" ] ; then
JAVACMD="`\\unset -f command; \\command -v java`"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
同时在 jenkins 中构建的时候就不能使用 maven 插件,而是要使用命令行,除此之外还应该把 maven,jdk 还有仓库挂载出来,具体如下
docker run -u root -d --privileged=true -p 9090:8080 -p 10240:50000 \
-v /home/docker-data/jenkins-9090-2415:/var/jenkins_home \
-v /etc/localtime:/etc/localtime \
-v /usr/local/apache-maven-3.9.3:/usr/local/apache-maven-3.9.3 \
-v /home/mavenRep:/home/mavenRep \
-v /usr/local/jdk/jdk-17.0.5:/usr/local/jdk/jdk-17.0.5 \
-e TZ=Asia/Shanghai \
-e 'JAVA_OPTS=-Duser.timezone=Asia/Shanghai' \
--name jenkins_9090 jenkins/jenkins:2.415