前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >记录一次jenkins的升级

记录一次jenkins的升级

原创
作者头像
对你无可奈何
修改2021-04-27 17:57:39
4.5K0
修改2021-04-27 17:57:39
举报
文章被收录于专栏:运维专栏

背景

内网有一台项目组用的jenkins,ip 192.168.0.170.版本为1.235.3的版本。部署方式为 tomcat war包+nginx代理。正好有时间想把jenkins升级到最新版本。说干就干,下面记录一下升级的痛苦过程......

1. jenkins升级的痛苦过程

按照官方的文档也一般的安装过程就是下载最新jar包替换这样的流程。故:

1. 停止 jenkins服务

代码语言:txt
复制
####远古项目centos7还是默认的service
service tomcat stop
###centos 8 可以systemctl
systemctl stop tomcat

当然了 如果是jar的方式启动的 可以kill了 jar进程。

2. 备份jenkins服务

先备份jenkins数据目录文件和版本部署文件

我的集成环境使用的oneinstck安装的java nginx环境。配置文件在/home/www./jenkins目录下

jar包部署在/data/wwwroot/default目录。先做个备份

代码语言:txt
复制
####
cd /home/www/
cp -Ra .jenkins/ .jenkinsold/
cd /data/wwwroot
cp -Ra default defaultold

3. 下载最新war包更新到服务器并启动服务

https://get.jenkins.io/war-stable/下载了最新的2.277.3版本,关于 lts版本与weekly版本:

  1. 稳定版 (LTS)
  2. 定期发布 (每周)

默认反正我个人是tls稳定版了。

image.png
image.png

我tomcat的目录在/data/wwwroot/default。 将jar包加压到目录下(war包可以直接解压的)。重新启动tomcat服务:

代码语言:txt
复制
service tomcat start

4. 验证更新后服务是否正常启动

web访问http://192.168.0.170

image.png
image.png

what?出现异常了。不能访问......。看了一眼tomcat的日志:

image.png
image.png

更新到最新版本以失败告终........,log中截取了报错信息如下:

代码语言:txt
复制
enkins.model.Jenkins.save An attempt to save Jenkins'' global configuration before it has been loaded has been made during milestone Configuration for all jobs updated.  This is indicative of a bug in the caller and may lead to full or partial loss of configuration

2. 复盘更新

1. 万能的百度orgoogle

将log中报错复制到了百度搜索,找到了stackoverflow中的一个类似的更新失败案例:

https://stackoverflow.com/questions/65441139/how-to-fix-jenkins-java-lang-illegalstateexception-an-attempt-to-save-the-globa。得到一下两个方案:

1. 降级:

image.png
image.png

2. 更新role-strategy-3.1.hpi

image.png
image.png

按照这里面的方案试一下了......

2. 将jenkins 2.235.3更新到2.263版本

重复1.1-1.4过程。当然了 只是变成了下载war包下载2.263.1的war包。嗯更新完可以正常进入:

任务就忽略了,瞎写着测试的......

image.png
image.png

接着把版本升级到1.263.4的版本看一眼,嗯 也成功了

image.png
image.png

这个时候如果想抱着直接升级到2.277.3就能成功的侥幸还是打错特错的.....

3. jenkins2.263版本安装插件

仔细观察我的jenkins中右上角提示信息里面有那么一堆,看了一眼

  • Icon Shim Plugin
  • jQuery UI plugin
  • Pipeline: Declarative Agent API

这几个插件我也是没有用的。还有一些插件也都过时了....我就把能看到的这些插件都卸载了......

image.png
image.png
image.png
image.png

其他插件类似....不相干的插件还是少安装了......

然后下载role-straegy.hpi并上传到jenkins:

系统管理-插件管理-高级-上传插件。整完以后重启tomcat

image.png
image.png

4. 继续更新jenkins

重新执行1.1-1.4流程,嗯版本总算更新成功了

image.png
image.png

查看tomcat log:

image.png
image.png

总结:

通过这次更新个人的总结:

  1. 更新升级前要做好程序与配置文件的备份(比较有些配置文件与程序是分开的)
  2. 深入了解一下版本的更新文档?jenkins在1.277版本应该就是做了什么的更改的。1.235-1.263是可以直接升级的。
  3. 尽量少安装不必要的插件。以免引起版本更新过程中的不兼容问题。
  4. 善于查看日志并用各种搜索工具......

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 1. jenkins升级的痛苦过程
    • 1. 停止 jenkins服务
      • 2. 备份jenkins服务
        • 3. 下载最新war包更新到服务器并启动服务
          • 4. 验证更新后服务是否正常启动
          • 2. 复盘更新
            • 1. 万能的百度orgoogle
              • 1. 降级:
              • 2. 更新role-strategy-3.1.hpi
            • 2. 将jenkins 2.235.3更新到2.263版本
              • 3. jenkins2.263版本安装插件
                • 4. 继续更新jenkins
                • 总结:
                相关产品与服务
                云服务器
                云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档