背景:jenkins默认jdk版本1.8,某个项目需要使用jdk17,但jenkins从官网在线安装的jdk最高版本只有jdk1.9,手动安装jdk17完成后,在jenkins容器内执行手动安装的jdk17时,报错/var/jenkins_home/jdk-17.0.4/bin/java: No such file or directory。
原因:因为jenkins容器的操作系统版本是Alpine Linux 3.16,因为alpine用的是musl libc,而不是glibc
解决办法:jenkins容器内安装glibc
wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.33-r0/glibc-2.33-r0.apk apk add glibc-2.33-r0.apk
curl -Ls https://archive.archlinux.org/packages/z/zlib/zlib-1%3A1.2.9-1-x86_64.pkg.tar.xz -o libz.tar.xz && mkdir -p libz && tar -xf libz.tar.xz -C libz mv libz/usr/lib/libz.so* /usr/glibc-compat/lib
在执行/var/jenkins_home/jdk-17.0.4/bin/java --version可以正常显示jdk版本信息
最后:jdk17安装完成后,在jenkins上全局工具配置jdk安装路径即可。
标签:bin,sgerrand,jdk,glibc,libz,报错,jenkins From: https://www.cnblogs.com/chenlin2022/p/16803504.html