SonarQube篇-升级SonaQube 6.7.X到7.9.1

1 引言

本手册以「将sonarqube6.7.5升级到7.9.1」为例,日后的升级(包括迁移数据库)操作可参考本手册进行!

sonarqube软件仓库:https://binaries.sonarsource.com/Distribution/

2 调研

由于7.8版本及其以上版本都不再支持mysql,而原有环境使用的是mysql,因此还需要将数据从mysql迁移到postgresql上。

3 搭建6.7环境

详见https://blog.csdn.net/qq_35550345/article/details/103586647

4 升级sonarqube测试

4.1 官方升级说明主要tips

1) MySQL的不再支持

SonarQube不再支持MySQL。要将MySQL从MySQL迁移到受支持的数据库,请参见免费的MySQL Migrator工具

2) Java的11所需要
SonarQube服务器现在需要Java 11分析,可能会继续在必要时使用Java 8。

3) Pylint应该手动
运行已弃用python分析期间自动运行Pylint。此外,它在Windows的此版本中已损坏。如果需要,必须提前运行Pylint,并将结果报告传递到分析中。

4)ElasticSearch更新需要重建索引,从而可能需要更多的文件空间

4.2 参照官方给出的升级步骤:

  • 在开始之前,请备份SonarQube数据库。升级问题很少见,但是如果有任何事情发生,您将需要备份。详情参照https://blog.csdn.net/qq_35550345/article/details/103588917
  • 假设您将SonarQube版本的版本下载并解压缩到一个新目录中, $NEW_SONARQUBE_HOME
  • 手动安装与您的SonarQube版本兼容的非默认插件。使用兼容性列表可确保您安装的版本与服务器版本兼容。请注意,默认情况下会安装您版本中所有SonarSource代码分析器的最新版本。不建议将插件从旧服务器简单地复制到新服务器;不兼容或重复的插件可能会导致启动错误。
  • 使用目录中相关文件的设置(Web服务器URL,数据库,ldap设置等)更新sonar.propertieswrapper.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 升级操作流程

4.3.1 准备工作

1)下发升级通知「何时升级+预计多久+影响功能」

例:【SonarQube升级通知】各位好,计划于_年_月_日_时_分升级Sonarqube,预计升级1个小时,届时无法正常使用sonar scanner分析代码,请知悉。

2)备份数据库

详见https://blog.csdn.net/qq_35550345/article/details/103588917

3)下载mysql-migrator工具 mysql-migrator-1.1.0.119.zip

4)准备oracleJDK11安装包 jdk-11.0.5_linux-x64_bin.tar.gz

5)准备sonarqube8.0安装包 sonarqube-7.9.1.zip

4.3.2 准备postgre数据库

1)安装yum源

rpm -Uvh https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm

2)安装postgresql server

yum install -y postgresql10-server postgresql10

3)初始化PGDATA

/usr/pgsql-10/bin/postgresql-10-setup initdb

4)修改/var/lib/pgsql/10/data/pg_hba.conf以开启MD5认证

host all all 127.0.0.1/32 md5

  • 默认情况下,postgresql server监听的地址为localhost。如果需要远程连接postgresql server,则需要修改/var/lib/pgsql/10/data/postgresql.conf中的监听地址如下:

listen_addresses = '*'

  • 同时,如果需要远程连接postgresql server,还需要修改/var/lib/pgsql/10/data/pg_hba.conf中的MD5认证为:

host all all 0.0.0.0/0 md5

5)如果开启了防火墙,则需要开启TCP5432端口的监听

firewall-cmd --permanent --add-port=5432/tcp

firewall-cmd --reload

6)启用postgresql server并设置开机自启

systemctl start postgresql-10

systemctl enable postgresql-10

7)检查一下postgresql server的运行状态

systemctl status postgresql-10

netstat -tulpn | grep 5432

8)为sonarqube服务创建数据库

sudo -u postgres psql

CREATE DATABASE sonar;

CREATE USER sonar WITH ENCRYPTED PASSWORD 'SonarTest2019@';

GRANT ALL PRIVILEGES ON DATABASE sonar TO sonar;

ALTER DATABASE sonar OWNER TO sonar;

\q

4.3.3 迁移数据库

1)迁移数据

  • 停止sonar

systemctl stop sonar

  • 将sonarqube6.7.5 copy一份,修改原sonar的sonar.properties指定新的数据库(修改sonar.jdbc参数)

sonar.jdbc.url=jdbc:postgresql://172.16.212.134/sonar 

  • 启动sonar

./sonar.sh start

  • 停止sonar

./sonar.sh  stop 

  • 将原sonar的配置文件改回,并将副本的配置文件改成

sonar.jdbc.url=jdbc:postgresql://172.16.212.134/sonar

  • 迁移数据

./mysql-migrator-1.1.0.119/bin/mysql-migrator -source /opt/sonarqube/conf/sonar.properties -target /opt/sonarqube-6.7.5/conf/sonar.properties

  • 检验数据是否成功复制到了postgre

sudo -u postgres psql

\c sonar

\dt

select * from projects;

2)删除旧的索引,重启服务

rm -fr ./sonarqube/data/es5

systemctl start sonar

到此,数据迁移成功!

4.3.4 升级sonarqube到7.9.1

1)安装JDK11

#因为现在在通过jdk8运行sonar6.7.5,所以暂时可以不配置全局变量,升级完成后将jdk13配置成全局即可。

tar zxf jdk-11.0.5_linux-x64_bin.tar.gz -C /usr/local/

2)配置sonarqube7.9.1

unzip sonarqube-7.9.1.zip -d /opt/

cp sonarqube/conf/sonar.properties sonarqube-7.9.1/conf/sonar.properties

注意:7.9.1中的一定要是这个:sonar.jdbc.url=jdbc:postgresql://172.16.212.134/sonar

vim sonarqube-7.9.1/conf/wrapper.conf

wrapper.java.command=/usr/local/jdk-11.0.5/bin/java

3)停止sonarqube6.7.5,启动7.9.1

systemctl stop sonar

mv sonarqube sonarqube-6.7.5.bak

mv sonarqube-7.9.1 sonarqube

chown -R sonar:sonar sonarqube

systemctl start sonar

4)重新登录页面

http://172.16.212.133:9000/setup

admin/admin登录

升级成功!

4.3.5 收尾工作

1)配置JDK11为全局变量

vim /etc/profile

JAVA_HOME=/usr/local/java/jdk-11.0.5
JRE_HOME=/usr/local/java/jdk-11.0.5/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

2)安装插件

  • 安装Chinese汉化包
  • 其他需要的插件

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鬼刺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值