一、概述
jenkins是由docker安裝的,目前的jenkins版本爲2.356。然後jenkins右上角提示版本升級
點擊了升級,升級完成後,需要重啓一下。
然後就芭比Q了,訪問jenkins出現504錯誤。
查看docker日誌,提示需要jdk升級到1.8。默認的jenkins的jdk版本爲1.7,然後docker就開始一直無限重啓。
二、解決故障
想升級jdk是不可能的,docker正在無限重啓了,壓根就進不去,進去就退出了。
需要注意的是,jenkins的war包,在docker裏面的路徑爲:/usr/share/jenkins/jenkins.war
下載war包,地址爲:https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/
然後找到版本2.356,下載地址爲:https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.356/jenkins.war
由於jenkins的docker啓動時,沒有映射目錄/usr/share/jenkins,因此,
先停止jenkins
docker rm -f jenkins
然後重新啓動jenkins
docker run -d \ --restart=always \ --name=jenkins \ -p 8080:8080 -p 50000:50000 \ -v /data/jenkins/data:/var/jenkins_home \ jenkins/jenkins:lts
啓動完成後,頁面應該可以訪問,但是裏面的相關功能會受損。
先把jenkins docker裏面的war包複製出來
docker cp jenkins:/usr/share/jenkins /data/jenkins/
給權限777
chmod 777 -R /data/jenkins/jenkins
然後將下載好的war替換到路徑/data/jenkins/jenkins/jenkins.war
最後修改jenkins docker啓動參數
docker run -d \ --restart=always \ --name=jenkins \ -p 8080:8080 -p 50000:50000 \ -v /data/jenkins/data:/var/jenkins_home \ -v /data/jenkins/jenkins:/data/jenkins/jenkins \ jenkins/jenkins:lts
再次訪問jenkins,登錄一下,應該就正常了。
最後需要注意一點,jenkins升級前,一定要做備份。
不然升級失敗,啓動直接崩潰,是很搞人的事情。
本來之前jenkins直接升級,沒法問題,升級了10多次了吧,相安無事。沒想到啊,這一次,給整崩潰了。
不要幻想重新搭建新的,把配置給遷移過去,比較麻煩,重新搭建jenkins,很費時費力。