jenkins升级填坑

受jenkins版本过低存在漏洞安全问题,计划升级到较高版本,升级过程中遇到一些问题,凭借记忆进行记录下(有可能与实际情况有些出处)。

我的jenkins是通过tomcat启动war包。

1、备份jenkins的配置数据。

找到JENKINS_HOME所在目录,进行备份。

记录tomcat/webapps/下jenkins的用户权限及所属主、所属组。

2、下载需要升级的版本(本次升级为2.222.1)

wget -c https://mirror.gruenehoelle.nl/jenkins/war-stable/2.222.1/jenkins.war

3、升级开始

准备完毕,停止tomcat服务,删掉tomcat/webapps下jenkins及jenkins.war;将2.222.1的war包放到webapps下,设置所属主、所属组,核对权限。

重启tomcat

4、开始排坑

本次升级发现 在部分项目(item)中使用的publish over ssh插件无法正常使用,修改保存会报错为:Refusing to marshal jenkins.plugins.publish_over.BPInstanceConfig for security

看来需要升级下publish over ssh组件

在插件管理中进行publish over ssh组件升级,报错从https://updates.jenkins-ci.org/update-center.json下载插件失败。

根据网上的回答,需要将https改为http

从插件更新日志看,虽然下载成功但有报错为:jenkins does not match expected SHA-256

查询大量网上资料,结合实际报错提示,看来是与中文版有关,需做两部分修改。

1)修改$JENINS_HOME/updates/default.json文件,将其中的www.google.com改为www.baidu.com

2)修改$JENINS_HOME/updates/default.json文件,将其中的https://updates.jenkins.io/download/plugins替换为https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins,改成国内镜像。(此处可能具体的插件地址各有不同,可以根据插件更新日志,修改default.json中对应的插件下载地址,保证从国内镜像下载)

重启tomcat,在插件管理中看到提示:

Publish Over SSH (1.20.1)
Plugin is missing: publish-over (0.21)
Plugin is missing: jsch (0.1.54.2)
Update required: Structs Plugin (1.10) to be updated to 1.14 or higher

于是我先升级Structs插件到1.14,成功下载并升级。

再进行publish over ssh插件的升级,这次成功升级。

5、升级完成

挑选几个项目进行测试无误,本次升级到2.222.1版本成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值