版本升级:2.260-2.293

问题背景:
我们的jenkins架构是主节点通过docker-compose启动的,在一台华为云的ecs(1c2g)上。从节点有一台,也是一台ecs(2c8g)。因为配置都不高,从节点并发数设置的5,在jenkins ui上配置了尽量在slave上打包,主节点设置只有匹配label的job才可在主节点打包。我们公司主要用的是多分支流水线,通过jenkins共享库自动触发发版。但是在打包安卓项目的时候发现,机器内存不够用了,安卓打包真的费内存啊!因此决定解决这个问题,但是为了节省运维成本没有直接买ecs的方式来增加从节点。通过查阅官方文档,发现可以将从节点直接对接到k8s中,我们公司刚好用的华为云的k8s集群。于是就决定试一试这个方案。但是2.260版本的jenkins不支持kubernetes插件,需要至少升级到2.263才可,这是我的第一个坑。没有选择最合适的版本,我直接就选择了最新版本2.293.。。。 还是太年轻了,直接垮了几十个版本升级,建议不要这么搞,风险太大,而且我的jenkins也没有打镜像备份,导致升级后发现有的功能不能用了,在打包的过程中报错了,升级过程我就不说了,很简单就是到https://updates.jenkins.io/download/war/ 这里把需要的war包下载下来,重启就ok了。第一次升级报错如下:

意思是TokenMacro这个插件不ok,需要选择合适的插件,但是当时还没分析出来,发现不能用,赶紧回滚了,到晚上没人用的时候我又升级了这个插件发现ok了,当时很开心。不过这才是开始,马上迎来了第二个坑。
过了两天由于项目需求,需要新建项目,这时候发现新建项目居然保存不了了。。点了没有post请求那种,当时感觉应该是插件问题,但是当时我不知道怎么看日志,到服务器上看日志,日志飞速的刷根本找不到我想要的。我的天,这咋弄。。。搞了十几分钟也没搞好,没办法,只能再回退版本了。新建了项目算是没有问题了,但是第三个坑又来了。
新建项目以后,这第三个坑就如约而至,发现没有办法发版了,点发版没反应,卧槽。感觉刀架到了脖子上,心想这升级太草率了。但是现在我还没办法定位问题,只知道自己升级了插件,但是也不知道之前是哪个版本了,难受,做操作之前一定要记录。顿时心生一计,是不是升级上去就可以发版了,赶紧再次升级。升级到2.293后终于可以发版了,解决了临时的问题,但是这个不能保存的问题依然在。
晚上没人用的时候,我决定要解决这个问题,这里告诉大家,虽然我的操作流程有问题,但是问题既然已经发生了,就不要怕,想办法解决,因为这不是什么世界难题,一定有办法解决的,事在人为。解决了履历上也会有新的一笔,没解决会自我否认的,废话不多说继续搞。我想既然是插件问题,那么我把插件更新了是不是就好了呢?在此提醒大家,如果一个操作结果不确定一定要记得备份,即便确定也要备份不要怕麻烦,最好直接打个快照这样,这是运维人员的基本职业规范,我还是有点懒了。。如你所想,没有备份,直接升级。。哈哈哈 结果可想而知,本来一个插件的问题,被我整成了不知道哪个插件,更不知道哪个版本了。完蛋,还好升级后还是有一点点进展,至少可以提交post请求了 会展示一个错误log id,这样我可以到日志里查看错误。

根据这个我找到了日志

当时觉得应该就是gitlab-branch-source这个插件的问题,确实最终也是这个插件的问题。但是当时我不清楚到底是哪个版本以及怎么去更换插件,只能通过jenkins ui去变更插件,整了一晚上都没整明白,一晚上没有做出任何结果,难受啊。。。
第二天来公司继续整,研发同事说发现打了tag,jenkins没有自动扫描这个tag,还需要手动点扫描,又是一个坑。没办法又处理这个问题,而且jenkins变得很慢,我想应该是配置的原因,也是因为插件不兼容导致cpu太高了。这个问题好几天了,不能再拖了,今天必须得解决了。但是jenkins卡的要死,这是当务之急。做了各种操作也没有,后来重启直接起不来了。。。完蛋 。最后只好升级配置,发现一下子变得贼快也不卡了,事实告诉我们,有的时候解决不了可能升一下配置会管用的。但是不能保存的问题还是没有解决。
又是晚上,我先更换jenkins各种版本,发现这不是版本固有问题,因此可以百分百确定是插件问题,但是我不能总在这台master上搞。好不容易现在能用的状态如果搞坏了就完了。有了之前的教训,这次我赶紧打了个镜像,真香,也很快就5分钟左右就好了,然后就是在这台镜像上一顿操作,发现插件gitlab-branch-source回退到1.4.6版本就不在有这个问题了,终于解决了。开心!

结语:

这次的问题产生的原因我太自以为是了,没有规范操作。正确操作应该是先打好整机镜像,在做每一次变更之前都有指定好回滚策略,这样就不会慌。并且不能跨太多版本,能用的版本就可以了,问题应该不会这么多,最后想说遇到问题不要怕,相信自己细心分析一定能解决的。希望可以帮助到有同样问题的朋友。

Jenkins升级大坑-插件问题相关推荐

  1. jenkins 增量发布插件_CI/CD工具:Jenkins还是GitLab CI/CD?

    十年来,持续集成(Continuous Integration,CI)和持续交付(Continuous Delivery,CD)领域都取得了很大的进步.DevOps 测试的兴起导致了对 CI/CD 工 ...

  2. 下载适合Jenkins版本的插件

    jenkins设置指定版本插件 记录一下安装Jenkins插件踩的坑 思路 修改镜像源 记录一下安装Jenkins插件踩的坑 由于我是用rpm包安装的Jenkins 后面安装插件时,发现插件版本一直高 ...

  3. Jenkins升级最新LTS版本2.150.x,页面本地化之后出现部分英文部分中文的解决办法

    Jenkins升级最新LTS版本2.150.x,页面本地化之后出现部分英文部分中文的解决办法 查看官方版本升级文档 下载并启用插件:localization-zh-cn-plugin 查看官方版本升级 ...

  4. Jenkins升级后页面出现部分英文的问题处理

    从低版本的Jenkins升级到高版本,特别是LTS版本低于2.138.4升级到高于LTS版本2.150.1的情况,就可能出现界面中英文混合的情况,而且通过安装localization-zh-cn插件都 ...

  5. 解决jenkins无法下载插件ssl证书问题

    刚安装的jenkins下载插件时,会Failure,详细错误里面包含了SSLHandshakeException javax.net.ssl.SSLHandshakeException: sun.se ...

  6. 【jenkins】Jenkins不能下载插件 报错sun.security.provider.certpath.SunCertPathBuilderException

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 错误提示 解决方法一 1.更新站点 2.下载插件Skip Certificate Check的安装文件(推荐第2种) 3.在 ...

  7. jenkins java常用插件下载,Jenkins简单介绍以及插件入门

    Jenkins是一个广泛用于持续构建的可视化web工具,就是各种项目的的"自动化"编译.打包.分发部署,将以前编译.打包.上传.部署到Tomcat中的过程交由Jenkins,Jen ...

  8. [ci] jenkins的Timestamper插件-让日志显示时间

    jenkins的Timestamper插件-让jenkins console带时间戳 安装插件 配置pipline,使用timestamp - 官网有说怎么用: 即用timestamps{} 包裹所有 ...

  9. 如何更新计算机的flash player,flash插件如何升级?win7升级flash插件的方法

    Flash player软件是日常电脑操作中都需要使用到的,如果没有这个软件的帮助,很多视频文件.Flash文件都是无法播放的.win7系统若是不升级此软件,便会造成电脑无法支持视频的播放.那么 wi ...

最新文章

  1. PHP解决方案@黑名单过滤
  2. 用大白话讲解RxJava原理
  3. FreeRTOS之列表和列表项
  4. Mac下安装SecureCRT客户端并激活
  5. define关键字的使用,以及宏函数的定义
  6. 解决:AttributeError: module 'pygal' has no attribute 'Worldmap' 问题
  7. SAP Spartacus初始化时和user token相关的APP INITIALIZER
  8. crontab 指令笔记
  9. C语言 ##运算符 - C语言零基础入门教程
  10. 多年心路历程见证从技术小白到收获BAT等大厂研发offer,分享一些经验和感悟...
  11. 眨眼视频制作与生成活体视频生成
  12. Python 视频、图片、音频爬取下载 you-get
  13. office在线编辑功能。
  14. uni-app实战之社区交友APP(10)登录、个人空间开发和动画优化
  15. BETWEEN AND 操作符
  16. C++入坑系列(五)之函数指针
  17. scanf/fscanf 的%[]和%n使用方法
  18. 从零开始学五线谱_初学者福利 | 学音乐,从五线谱开始
  19. 关于shell命令中 prog=${0##*/}
  20. activiti审批历史查询

热门文章

  1. bitlocker正在加密 c盘_新电脑安装操作系统一定要注意硬盘是否被bitlocker加密!...
  2. 打开控制台查看后台html代码
  3. 数据库的schemas(模式)
  4. Java后端落地项目记录
  5. android地图轨迹跟踪_在这张地图中,你可以追踪全世界的航班信息
  6. AnyMP4 iPhone Transfer Pro Mac破解教程
  7. Win10-更改c盘下的用户文件夹名[转]
  8. Lidar 激光雷达与自动驾驶
  9. 如何合理选择 PLC
  10. 树状数组 之 poj 3067