jenkins升级出现问题之后的处理方法
问题是这样的 我从 Jenkins2.324 升级到 2.335,在界面上点了自动升级,重启的时候报错,报错信息节选如下org.jenkinsci.plugins.oic.OicSecurityRealmCaused: jenkins.util.xstream.CriticalXStreamException:Caused: java.io.IOException: Unable to read
问题是这样的 我从 Jenkins2.324 升级到 2.335,在界面上点了自动升级,重启的时候报错,报错信息节选如下
org.jenkinsci.plugins.oic.OicSecurityRealm
Caused: jenkins.util.xstream.CriticalXStreamException:
Caused: java.io.IOException: Unable to read /root/.jenkins/config.xml
出现问题后搜索到了参考文章1,里面提了一个方法:将<authorizationStrategy></authorizationStrategy> 标签整个删去,将<useSecurity></useSecurity>标签也删去。
实际上我是这样做的:
1. 备份原来的config.xml
docker cp jenkin_docker:/var/jenkins_home/config.xml .
2. 修改 config.xml
docker exec -ti jenkin_docker /bin/bash
vim config.xml
- 将 标签整个删去
- true 修改为 false
3. 重启jenkins
-
网页重启:访问下面的网址
http://jenkins.yeshen.org/restart -
docker重启
docker restart jenkin_docker
我弄的时候是直接重启docker,但是发现触发了账号密码验证,authorizationStrategy是走的oauth登陆的,去掉了我自己也无法登陆。
解决方法是:
docker exec -ti jenkin_docker /bin/bash
vim config.xml
# - <useSecurity>true</useSecurity> 修改为 <useSecurity>false</useSecurity>
# - 网页重启:http://jenkins.yeshen.org/restart
4. 撤销升级
- 访问: http://jenkins.yeshen.org/manage ,界面上有个撤销升级,点一下,会自动降级、重启
- 重启后,发现jenkins报错,显示少了 Mailer Plugin,安装一下这个插件(这个有点关键,不做的话,下一个步骤会再报最初的错误)
- 恢复config.xml
docker cp config.xml jenkin_docker:/var/jenkins_home/config.xml
- 重启jenkins(见第三小节)
5. jenkins备份
- http://jenkins.yeshen.org/pluginManager/available 搜索 ThinBackup ,安装
- 设置备份目录:
http://jenkins.yeshen.org/thinBackup/backupsettings
Backup directory : /home/backup
保存
- 新建备份目录
docker exec -ti jenkin_docker /bin/bash
cd /home
mkdir backup
- 开始备份
http://jenkins.yeshen.orgthinBackup/
http://jenkins.yeshen.orgthinBackup/backupManual
PS: http://jenkins.yeshen.org 只是一个示例,如果你出现问题,请修改为你的jenkins地址。
我是晚上回家趁没人使用升级的,结果升出问题,恢复搞了两个多小时,如果你也要升级,建议挑没人使用的时间点去处理…
参考文章:
- https://www.jianshu.com/p/3ce22b527a7f
更多推荐
所有评论(0)