1 引言
本手册以「将sonarqube6.7.5升级到7.7」为例,日后的升级操作均可参考本手册进行!
sonarqube软件仓库:
https://binaries.sonarsource/Distribution/
2 调研
由于7.9版本及其以上版本都不再支持mysql,而原有环境使用的是mysql,因此考虑先升级到7.7或7.8版本。
3 搭建集群环境
详见https://blog.csdn/qq_35550345/article/details/103586647
环境搭建完成之后记得拍个快照!
4 升级sonarqube测试
4.1 官方升级说明主要tips
1)7.7 ElasticSearch更新需要重建索引,从而可能需要更多的文件空间
2)7.4 如果新代码周期未设置为以下之一,则分析将失败:
- 有效的过去日期
- 正整数(天数)
previous_version
- 现有快照的版本字符串
3)需要更多的内存空间
4)查看官方的软硬件要求:https://docs.sonarqube/7.7/requirements/requirements/
4.2 参照官方给出的升级步骤:
- 在开始之前,请备份SonarQube数据库。升级问题很少见,但是如果有任何事情发生,您将需要备份。详情参照https://blog.csdn/qq_35550345/article/details/103588917
- 假设您将SonarQube版本的版本下载并解压缩到一个新目录中,
$NEW_SONARQUBE_HOME
- 手动安装与您的SonarQube版本兼容的非默认插件。使用兼容性列表可确保您安装的版本与服务器版本兼容。请注意,默认情况下会安装您版本中所有SonarSource代码分析器的最新版本。不建议将插件从旧服务器简单地复制到新服务器;不兼容或重复的插件可能会导致启动错误。
- 使用目录中相关文件的设置(Web服务器URL,数据库,ldap设置等)更新
sonar.properties
和wrapper.conf
文件的内容(中的)。不要复制粘贴旧文件。如果使用的是Oracle DB,则将其JDBC驱动程序复制到$NEW_SONARQUBE_HOME/conf$OLD_SONARQUBE_HOME/conf$NEW_SONARQUBE_HOME/extensions/jdbc-driver/oracle
- 停止旧的SonarQube服务器
- 启动新的SonarQube服务器
- 浏览
http://yourSonarQubeServerURL/setup
并遵循设置说明 - 重新分析您的项目以获取新数据
4.3 升级操作流程
1)systemctl stop sonar
2)备份现有版本
rm -rf /opt/sonarqube-backup
mv /opt/sonarqube /opt/sonarqube-backup
3)下载最新版本的二进制包
wget -O /tmp/sonarqube.zip https://binaries.sonarsource/Distribution/sonarqube/sonarqube-7.7.zip
4)解压到/opt下
unzip /tmp/sonarqube.zip -d /opt
5)重命名目录
mv /opt/sonarqube-7.7 /opt/sonarqube
6)从备份中复制配置文件sonar.properties
/bin/cp -f /opt/sonarqube-backup/conf/sonar.properties /opt/sonarqube/conf/sonar.properties
7)修改目录权限
chown -R sonar:sonar /opt/sonarqube
注意:使用sonar.sh执行start时,该目录的属主一定要和执行者账户一致且不能为root,否则会报错。
8)重建elasticsearch索引数据
sudo rm -rf /opt/sonarqube/data/es*
9) 启动sonarqube
systemctl start sonar
10)查看日志
# SonarQube service log
tail -f /opt/sonarqube/logs/sonar.log
# Web Server logs
tail -f /opt/sonarqube/logs/web.log
# ElasticSearch logs
tail -f /opt/sonarqube/logs/es.log
# Compute Engine logs
tail -f /opt/sonarqube/logs/ce.log
4.4 浏览器访问
http://172.16.212.133:9000/setup
点击upgrade,等待一会就会跳转:
login:admin/admin
重新去marketplace下载中文插件,点击restart之后页面就会变成中文。
在jenkins页面重新build,正常无报错,sonarqube页面刷新之后也会看到新分析的结果。
注意:此时还没有升级sonar-scanner,但是可以正常分析代码,说明6.7.X,7.7与jenkins的scanner2.10都是兼容的。
而生产环境安装的scanner版本就是2.10,所以无需升级sonar-scanner。
更多推荐
SonarQube篇-升级SonarQube6.7.5到版本7.7
发布评论