一、概述

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,很费时费力。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐