docker jenkins升级以及失败处理
一、概述
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,很费时费力。