Jenkins打包java项目 xxxx is not a directory on the Jenkins master (but perhaps it exists on some agents

最近配置jenkins打包boot项目的时候,出现了一个问题:

xxxx is not a directory on the Jenkins master (but perhaps it exists on some agents:

在这里插入图片描述
现在的jenkins docker容器版本内置的都是jdk17的版本,我们项目是jdk8的项目想到可能是不兼容,
后来在docker容器中安装了一个jdk1.8,仍然没有解决问题。
jenkins全局配置,jdk管理这里看到 还是报着黄线,仍然是不可用的。

在这里插入图片描述

有说法是制作容器的时候需要 需要做一下挂载,宿主机的jdk 跟 docker容器 做一下挂载,这样是可以解决问题。
比如由:

docker run -itd -p 9989:8080 -p 50000:50000 --name lgnjenkins --privileged=true -u=root  -v /home/jenkins/jenkins_home:/var/jenkins_home  jenkins/jenkins:lts

改成:

docker run -itd -p 9990:8080 -p 50001:50000 --name jenkinstlm --privileged=true -u=root  -v /home/jenkins/jenkins_home1:/var/jenkins_home  -v /www/server/kafka/java/jdk1.8.0_371/:/jdk/jdk1.8.0_371  jenkins/jenkins:lts

但是我这个jenkins容器已经制作好了,插件都下载好了,插件源也都配置好了,其他项目也配置好了,再做一个岂不是重新麻烦吗。

后来想了一下 既然 -v挂载可以 把宿主机的jdk cp进到容器里面是不是也可以呢。

查看宿主机java安装目录:
ubantu:

update-alternatives --list java

centos:

which java

进入容器 建一个jdk的文件夹,把宿主机的jdk目录cp到容器里面

docker cp /www/server/kafka/java/jdk1.8.0_371 lgnjenkins:/jdk/jdk1.8.0_371

在这里插入图片描述
居然是可以的。

在这里插入图片描述
顺利打包。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值