Jenkins1.190.0升级到Jenkins2.303.2

jenkinsci/blueocean镜像是优化界面化的一个版本

目前镜像版本: jenkinsci/blueocean:1.19.0,对应的jenkins版本为:1.190.2

升级后的版本: jenkinsci/blueocean:1.24.3,对应的jenkins版本为:2.263.2

注:如果不是这个版本的镜像不能使用这个镜像版本升级

1、提前准备

备份数据

查看目前容器挂载的数据卷,把数据做备份

jenkins:升级K8S集群中jenkins版本1.190.2-->2.263.2_数据

第一种备份方式:通过容器信息找到所对应的node节点,进入容器打包jenkins_home文件夹并拷贝到容器外部

第二种备份方式:找到nfs容器,进入后打包拷贝整个jenkins容器挂载的pvc的文件夹到nfs容器外部

2、启动临时节点

1)在阿里云平台,创建按量付费ECS主机,加入到cicd集群,设置标签

2)创建新的pvc,把第一步备份的数据导入到新的pvc中

3、开始升级

登录rancher,克隆现在的jenkins-master服务,修改数据卷挂载到新的pvc上

jenkins:升级K8S集群中jenkins版本1.190.2-->2.263.2_端口号_02

替换镜像:jenkinsci/blueocean:1.19.0 —> jenkinsci/blueocean:1.24.3

jenkins:升级K8S集群中jenkins版本1.190.2-->2.263.2_数据_03

修改调度标签

jenkins:升级K8S集群中jenkins版本1.190.2-->2.263.2_war包_04

点击【升级】,查看日志,正常情况下,升级会删除jenkins_home目录下已有的war包文件,并开始升级插件。

注:配置k8s slave时,需要使用本地模式,无需CA证书认证

jenkins:升级K8S集群中jenkins版本1.190.2-->2.263.2_war包_05
jenkins:升级K8S集群中jenkins版本1.190.2-->2.263.2_启动服务_06
jenkins:升级K8S集群中jenkins版本1.190.2-->2.263.2_端口号_07
jenkins:升级K8S集群中jenkins版本1.190.2-->2.263.2_jenkins_08

4、问题整理

问题1:升级之后,web界面打不开登录界面

解决:手动删除war包文件,再次启动服务

问题2:升级之后,web界面依然提示插件错误,无法启动服务

解决:备份config配置文件,制作一份默认的config配置文件,启动服务登录成功后,点击【系统管理】查看插件是否报错,解决依赖关系即可

jenkins:升级K8S集群中jenkins版本1.190.2-->2.263.2_启动服务_09

问题3:升级之后,显示部分项目,有很多未显示出来

解决:点击【系统管理】—【插件管理】,选择可【兼容】的插件升级,千万不要选择【全部】升级。一般这种兼容升级需要重启jenkins服务,并重复的选择【兼容】升级几次即可

问题4:升级之后,slave节点调度到K8S集群中,无限重建

解决:由于现在jenkins-master端口号是Hostport模式,查看pod是否与jenkins-master服务在同一个K8S集群节点,如果是,查看下50000端口号是否正常开启

问题5:升级之后,slave节点报:tcpSlaveAgentListener/ is invalid: 500 Server Error

解决:查看下jenkins服务中配置的K8S集群信息是否正确,或者修改pod名称与jenkins的连接配置一致