CentOs7安裝部署Sonar環境(JDK1.8+MySql5.7+sonarqube7.8)
sonarqube安裝前環境準備JDK1.8、MySql5.7。
一、JDK安裝
1、下載jdk
#打開下面的網址,選擇 jdk-8u371-linux-x64.tar.gz 進行下載 (8u371版本可能會有區別,但是沒有影響)
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
2、安裝jdk
#創建安裝目錄
mkdir /usr/local/java/
#解壓至安裝目錄
tar -zxvf jdk-8u371-linux-x64.tar.gz -C /usr/local/java/
3、設置環境變量
打開文件
vim /etc/profile
在文件中末尾添加
export JAVA_HOME=/usr/local/java/jdk1.8.0_371
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
使環境變量生效
source /etc/profile
添加軟鏈接
ln -s /usr/local/java/jdk1.8.0_371/bin/java /usr/bin/java
查看java版本信息
java -version
二、MySql安裝
1、拉取指定版本MySql
docker pull mysql:5.7
2、創建數據及配置文件掛載目錄
#創建掛載目錄
mkdir -p /data/docker/mysql5.7
#授予最高權限
chmod -R 777 /data
3、運行MySql
# -v 宿主機的被掛載路徑:容器內需要掛載的路徑
docker run -itd -p 3306:3306 --name mysql5.7 \
--restart=always \
-v /data/docker/mysql5.7/conf:/etc/mysql/mysql.conf.d \
-v /data/docker/mysql5.7/log:/var/log/ \
-v /data/docker/mysql5.7/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=12345678 \
mysql:5.7
4、進入mysql容器并創建用戶賬戶密碼均為sonar
說明:如果運行sonarqube時直接使用mysql的root賬戶,該步驟可跳過。
docker exec -it mysql5.7 bash
#需要輸入密碼(輸入的密碼是不可見的,輸完直接按回車鍵)
mysql -u root -p
create database sonar;
CREATE USER 'sonar'@'%' IDENTIFIED WITH mysql_native_password BY 'sonar';
GRANT ALL PRIVILEGES ON *.* TO 'sonar'@'%';
exit
三、sonarqube安裝
1、docker拉取sonarqube鏡像
docker pull sonarqube:7.8-community
說明:由于不同sonarqube對jdk版本要求不一致,生產環境實際用的jdk1.8,所以本次安裝的是sonarqube7.8版本 再往上就不支持jdk1.8了,數據庫采用的是mysql,也是由于sonarqube版本原因選用mysql5.7。
2、啟動sonarqube
#執行前 xxx.xxx.xxx.xxx 修改為服務器IP地址,并且需要提前在數據庫中手動創建 sonar 數據庫
docker run -d --name sonarqube -p 9000:9000 -p 9092:9092 --link=mysql5.7:mysql5.7 -e SONARQUBE_JDBC_USERNAME=sonar -e SONARQUBE_JDBC_PASSWORD=sonar -e SONARQUBE_JDBC_URL="jdbc:mysql://xxx.xxx.xxx.xxx:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false" sonarqube:7.8-community
注意:
可能遇到以下錯誤:
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
錯誤原因:elasticsearch用戶擁有的內存權限太小,至少需要262144。
解決方法:
#1、輸入命令
sysctl -w vm.max_map_count=262144
#2、修改 /etc/sysctl.conf文件,在文件最后增加內容:vm.max_map_count=262144
vim /etc/sysctl.conf
四、sonarqube安裝中文漢化包
1、下載漢化包
首先根據自己sonarqube的版本,選擇對應版本的漢化包,可通過以下的鏈接進行下載
我安裝的sonarqube7.8多以對應的漢化包版本是1.2.8,讀者可自行對應查找下載。
2、將漢化包上傳到服務器
將下載的 sonar-l10n-zh-plugin-1.28.jar 文件上傳到服務器 /data 目錄中。(/data目錄可根據需要自行修改)
3、文件授權
說明:需要給新上傳到服務器的jar授權,有些情況上傳完權限默認是只讀的,會導致容器啟動時報錯。
chmod 777 /data/sonar-l10n-zh-plugin-1.28.jar
4、將jar文件上傳到sonarqube的docker容器對應目錄中
docker cp /data/sonar-l10n-zh-plugin-1.28.jar sonarqube:/opt/sonarqube/extensions/plugins/
路徑說明:
/data/sonar-l10n-zh-plugin-1.28.jar 為linux服務器中jar文件地址
/opt/sonarqube/extensions/plugins/ 為docker中sonarqube軟件存放插件的文件目錄
補充說明:
sonarqube容器中的 /opt/sonarqube/extensions/plugins/ 路徑如何查找及如何確認jar文件是否上傳成功。
#1、確認sonarqube容器在運行
docker ps
#2、進入sonarqube容器
docker exec -it sonarqube bash
#3、查詢配置SONARQUBE_HOME的位置 (可以得知位置為 /opt/sonarqube)
echo $SONARQUBE_HOME
#4、查看jar是否成功上傳到sonarqube容器的/opt/sonarqube/extensions/plugins/目錄中
cd /opt/sonarqube/extensions/plugins/
ls

5、重啟sonarqube容器
docker restart sonarqube
6、瀏覽器中訪問

訪問鏈接:http://xxx.xxx.xxx.xxx:9000 (xxx.xxx.xxx.xxx 為部署sonarqube的服務器IP)
默認用戶名:admin
默認密碼:admin
到此,能正常登錄并展示漢化后的頁面則大功告成!


浙公網安備 33010602011771號