天天看點

Sonarqube篇-從8.2更新到8.91、準備工作2、更新3、復原

  1. sonarqube 8.x版本安裝可以參照:

    https://blog.csdn.net/qq_35550345/article/details/102860422

  2. postgresql資料庫備份和恢複可以參照:

    https://blog.csdn.net/qq_35550345/article/details/103588970

  3. mysql資料庫備份和恢複可以參照:

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

1、準備工作

# sonar-server是軟連接配接
ln -s sonarqube-8.2.0.32929 sonar-server
# service檔案
/etc/systemd/system/sonarqube.service
[Unit]
Description=SonarQube Server
After=network-online.target
 
[Service]
Type=forking
ExecStart=/data/apps/sonarqube/sonar-server/bin/linux-x86-64/sonar.sh start
ExecStop=/data/apps/sonarqube/sonar-server/bin/linux-x86-64/sonar.sh stop
LimitNOFILE=131072
LimitNPROC=8192
User=sonar
Group=sonar
Restart=on-failure
 
[Install]
WantedBy=multi-user.target
           

2、更新

  • 準備檔案
cd /data/apps/sonarqube
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.9.2.46101.zip
unzip sonarqube-8.9.2.46101.zip
 
#備份配置檔案
cp sonarqube-8.9.2.46101/conf/sonar.properties sonarqube-8.9.2.46101/conf/sonar.properties.bak
cp sonarqube-8.9.2.46101/conf/wrapper.conf sonarqube-8.9.2.46101/conf/wrapper.conf.bak
 
#複制配置檔案
cp sonar-server/conf/sonar.properties sonarqube-8.9.2.46101/conf/sonar.properties
cp sonar-server/conf/wrapper.conf sonarqube-8.9.2.46101/conf/wrapper.conf
           
  • 備份資料庫
#停止服務,備份資料庫
sudo systemctl stop sonarqube
sudo -u postgres pg_rman backup -b full -Z -B /data/database/psql_back/psqldb
 
#檢視是否備份成功
pg_rman show -B /data/database/psql_back/psqldb
           
  • 重新開機服務
#重新建立連結,重新開機服務
rm -rf sonar-server
ln -s sonarqube-8.9.2.46101 sonar-server
sudo systemctl start sonarqube
           
  • 頁面操作,更新資料庫
1) 通路網址 http://172.16.212.11:9000/setup 
2)點選upgrade更新資料庫,更新成功會自動跳轉到登入頁面
3)使用管理者賬戶和預設密碼(admin/admin)登入,會提示修改密碼
           
  • 檢視有哪些變更,處理一下
1)頁面從原來的中文變成了英文
cd /data/apps/sonarqube/sonar-server/extensions/downloads
wget https://github.com/xuhuisheng/sonar-l10n-zh/releases/download/sonar-l10n-zh-plugin-8.9/sonar-l10n-zh-plugin-8.9.jar
sudo systemctl restart sonarqube
#再次登陸頁面會提示檢測到插件風險,點我了解風險即可

2)阿裡代碼規範丢失
cp sonarqube-8.2.0.32929/extensions/plugins/sonar-pmd-plugin-3.2.0-SNAPSHOT.jar sonar-server/extensions/downloads/
sudo systemctl restart sonarqube
           

3、復原

  • 恢複資料庫
sudo systemctl stop sonarqube
sudo systemctl stop postgresql-11
 
#找到那個全量備份然後恢複
pg_rman show -B /data/database/psql_back/psqldb
sudo -u postgres pg_rman restore -B /data/database/psql_back/psqldb -D /var/lib/pgsql/11/data/ --recovery-target-time "開始時間" --hard-copy
sudo systemctl start postgresql-11
 
#檢視資料庫日志發現recovery pause的需要手動調用pg_wal_replay_resume,然後才能恢複成功,否則資料庫的transaction是read-only模式,會導緻sonarqube起不來
sudo -u postgres psql
select pg_wal_replay_resume();
           
  • 修改軟連接配接,啟動服務
rm -rf /data/apps/sonarqube/sonar-server
cd /data/apps/sonarqube/
ln -s sonarqube-8.2.0.32929 sonar-server
systemctl start sonarqube