CI&CD落地實(shí)踐3-Jenkins版本升級(jí)與踩坑實(shí)踐
背景
當(dāng)前環(huán)境:
- 操作系統(tǒng):Linux(CentOS-7.9);
- Java版本:Java8;
- Jenkins版本:2.328;
升級(jí)原因:很多插件都不兼容,無法使用,提示要升級(jí)版本。
一、升級(jí)Jenkins過程
1.遇到的坑1-Java版本過低
確切地說,之前是有過升級(jí)成功的經(jīng)驗(yàn)的,步驟如下:
① 下載最新的jenkins.war包并放到
/home/apache-tomcat-9.0.43/webapps目錄下;
② 重啟apache-tomcat;
③ 訪問Jenkins;
但是我在重啟后,再次訪問Jenkins遇到了如下報(bào)錯(cuò):

在網(wǎng)上查閱后得知,Jenkins從 6 月 28 日發(fā)布的 Jenkins 2.357 和9 月 LTS 版本開始,Jenkins 最低需要 Java 11,所以jdk最低要安裝到11。
2.安裝JDK11
① 在liunx上可以通過如下命令安裝:
yum -y install java-11-openjdk*以上會(huì)直接自動(dòng)安裝jdk并配置好環(huán)境變量:

② 測試java版本,已經(jīng)升級(jí)到j(luò)ava11:

已安裝的java11在/usr/lib/jvm目錄下:

3.遇到的坑2-未切換到新安裝的Java
重啟apache-tomcat,再次刷新Jenkins頁面,還是出現(xiàn)前面的404報(bào)錯(cuò):

通過查看Tomcat啟動(dòng)日志發(fā)現(xiàn),Tomcat使用的java版本仍然是java8,說明新安裝的java11并沒有對(duì)apache-tomcat生效,因此還需要特地為apache-tomcat指定java版本。

4.指定apache-tomcat的Java版本
具體修改哪個(gè)文件,起初我也不確定,后來在這篇帖子中找到了答案:《啟動(dòng) Tomcat 遇到 Neither the JAVA_HOME nor the JRE_HOME environment variable is defined 問題,已解決》
整個(gè)調(diào)用鏈路如下:
- Windows:啟動(dòng)文件startup.sh → catalina.sh → setclasspath.sh,setclasspath.sh 里讀取系統(tǒng)的環(huán)境變量。
- Linux:啟動(dòng)文件startup.sh → catalina.sh → setclasspath.sh,setclasspath.sh 里讀取系統(tǒng)的環(huán)境變量。

① 修改Tomcat的bin目錄下的setclasspath文件
我的是Linux系統(tǒng),所以只需要在Tomcat的bin目錄下的setclasspath.sh文件中將java版本指定為新安裝的java11就可以了

在setclasspath.sh文件最開始位置設(shè)置java相關(guān)的環(huán)境變量:

② 再次重啟apache-tomcat,使用的是最新的java11

③ 重新訪問Jenkins
此時(shí)再次訪問Jenkins,就不會(huì)出現(xiàn)開頭的404報(bào)錯(cuò)了,訪問正常:

更新成功,Jenkins訪問正常,界面煥然一新,版本為升級(jí)后的2.387.1版本:

后續(xù)如有新版本更新,只需替換jenkins.war包即可,除非有明確的java版本要求。































