因为部门对安全较为重视,加上JIRA通报当前版本存在除升级版本外无法修复的高危漏洞,没有安全补丁等修复措施,迫于无奈,准备动刀升级线上JIRA,在此之前,需要做好完全的准备。
JIRA8.15.X升级到长期支持版本8.20.X。
注:升级的前提是当前Licenses支持升级到你所需要的版本,否则升级成功之后也无法使用。
以当前升级为例,在升级前先查看==>升级清单|管理 Jira 应用程序数据中心和服务器 9.1 |阿特拉斯文档 (atlassian.com)升级清单,把版本选择目前JIRA的版本进行查看,了解一下整个的升级过程,有个整体性的认识,操作起来不至于手忙脚乱。
大约分为三个步骤,分别是健康检查,插件检查,数据备份。
关于JIRA的备份,可以把安装目录,数据目录,共享目录(只有集群模式才有),所连数据库这些全部进行备份,若有问题及时回滚。
插件方面,如果不兼容jira新版本,可以在jira当前版本升级插件到支持的版本,或者在升级完成JIRA之后,将新版本的JIRA插件重新导入即可,我当时采用的就是后者。
注:JIRA插件地址:https://marketplace.atlassian.com
也就是决定采用哪种方法来升级JIRA,根据环境不同选择适合的升级方式,我选择的是下线手动升级,因为涉及到备份,只有将服务完全停止才可以确保数据量不会增加,而且此方式不管是升级和回滚都比较方便。
注:JIRA升级方式参考:升级 JIRA 应用 (devpod.cn)
因为选择的升级方式为手动升级,所以相关操作也是参考的手动升级文档,里面有整个的升级流程,这里只是重新再简述一下。升级 Jira(手动)|管理 Jira 应用程序数据中心和服务器 8.20 |阿特拉斯文档 (atlassian.com)
注:停止所有JIRA节点,在其中一台机器上操作即可,若配置无异常,可直接将安装目录scp到其他节点。
首先需要配置一下JIRA的家目录变量,以便执行时可以直接读取,具体可以参考:https://doc.devpod.cn/jira/jira-15237277.html
下载新版本的JIRA安装包,执行安装包,选择3升级JIRA,在此基础上进行,过程中会提示是否备份JIRA目录,若已经提前备份可以选择不备份。
PS:关于配置这块,可以提前将新版本JIRA的相关配置文件单独下载出来,配置好之后,直接导入就可以了,可以提高效率,减少出错。
需要注意的是,升级之后JIRA的配置会重新初始化,需要重新配置JIRA,比如邮件发送,CAS,连接数据库,代理转发等等。
服务启动时,记得观察启动日志,注意上面的信息,若是有任何类型的报错,先不要停止,截图记录一下继续等待,直到启动失败,若无报错实现了正常启动,接下来就要针对JIRA进行监测了。
从运维方面,配置的各类功能是否正常,例如邮件发送测试,cas登录跳转测试,nginx代理跳转测试等待,无异常之后,选择故障诊断和支持工具查看JIRA的程序功能监测是否正常,集群节点是否全部上线,更为具体的应用功能就需要结合研发测试一起进行了。