近期須要搭建一個SonarQube服務。目前SonarQube版本已經更新到7.9版本了,可是爲了穩定性,下降風險,選擇了安裝7.4版本java
服務 | 版本 | 說明 |
---|---|---|
服務器系統 | centos7.4/64位 | 大型項目通常要求8核/16G內存,我的/小項目至少2G內存 |
JDK | JDK8 | 7.4版本的SonarQube要求jdk8版本 |
MYSQL | JDK8 | 7.4版本MySQL >=5.6 && <8.0 (在配置文件sonar.properties也有提示) |
SonarQube | 7.4 | 當前最新版7.9 |
上述安裝包我放在百度網盤,能夠直接在網盤下載哦:
連接:https://pan.baidu.com/s/11xLgBwU8HnB5sUZ63Hw8MQ
提取碼:h048 mysql
命令:linux
# tar xf jdk-8u151-linux-x64.tar.gz -C /usr/local/ # echo -e "export JAVA_HOME=/usr/local/jdk1.8.0_151\n export JRE_HOME=\${JAVA_HOME}/jre\n export CLASSPATH=.:\${JAVA_HOME}/lib:\${JRE_HOME}/lib\n export PATH=\${JAVA_HOME}/bin:\$PATH" >>/etc/profile # source /etc/profile # java -version
由於SonarQube服務裏面包含有elasticsearch服務,因此這兩個文件是要修改的。翻了好多網友的博客都沒有提到這一步,可是官網是有明確要求的:web
# echo -e "* soft nofile 65536\n* hard nofile 131072\n* soft nproc 2048\n* hard nproc 4096\n" >>/etc/security/limits.conf # echo "vm.max_map_count=655360" >>/etc/sysctl.conf # sysctl -p
MySQL我是在本機安裝的,也有看到網友說MySQL和SonarQube服務安裝在同一臺機器會報錯,說連不上數據庫,個人沒有這個問題。
MySQL安裝步驟略
裝好以後,建立數據庫而且受權(建立一個空的數據庫就行,不須要建立表。表會在啓動的時候程序自動建立):sql
> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; > grant all privileges on sonar.* to "sonar"@"%" identified by "sonar"; > flush privileges;
4.1 建立專用用戶
由於elasticsearch不能用root啓動,所以這裏也要建立一個專用用戶來對SonarQube服務進行管理數據庫
# useradd sonar;echo "123456"|passwd --stdin sonar
4.2 下載安裝包並解壓,修改安裝目錄權限centos
# wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.4.zip # unzip sonarqube-7.4.zip #不要把壓縮包解壓到以數字開頭的目錄中 # mv sonarqube-7.4 /usr/local/ # chown sonar:sonar -R /usr/local/sonarqube-7.4/
4.3 建立elasticsearch數據存儲目錄並受權瀏覽器
# mkdir /data/soarqube/{data,temp} -p # chown sonar:sonar -R /data/soarqube/
4.4 修改配置文件
/usr/local/sonarqube-7.4/conf sonar.properties文件默認註釋掉了全部的內容,主要修改下面這幾行(看到不少網友的博客只配置了3行數據庫信息,研究了官網以後,增長/修改了後面三行提高性能的配置。只是簡單實驗的話,配置前面3行數據庫就能夠了):服務器
[root@test104 conf]# cat sonar.properties|grep -v ^#|grep -v ^$ sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.jdbc.url=jdbc:mysql://10.0.0.104:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false sonar.web.javaOpts=-server #這一行內容須要手動添加,能夠添加到第100行,是爲了優化web server,激活服務器模式,提高和保障性能的 ##下面這兩行是配置elasticsearch的存儲目錄,默認是在sonar安裝目錄下會建立一個data和temp目錄,可是官方並不推薦使用默認配置,爲了更好的I/O性能以及之後的版本升級,推薦將這兩個目錄另外配置到專門的數據目錄下: sonar.path.data=/data/soarqube/data sonar.path.temp=/data/soarqube/temp [root@test104 conf]#
4.5 啓動服務elasticsearch
[root@test104 conf]# su sonar [sonar@test104 conf]$ cd /usr/local/sonarqube-7.4/bin/linux-x86-64/ [sonar@test104 linux-x86-64]$ ./sonar.sh start
啓動完成以後,能看到這4個進程:
在/usr/local/sonarqube-7.4/logs/目錄會在運行啓動腳本以後,就會按照啓動的順序,生成下面的幾個日誌,若是啓動失敗,就能夠來這裏看日誌找緣由:
啓動這4個進程須要必定的時間,開啓sonar.log日誌的實時輸出,看到出現下面的內容,說明整個服務就啓動好了:
4.6 服務驗證
查看web端口起來了:
在瀏覽器訪問web地址:http://10.0.0.104:9000/about 出現下面的界面:
到這裏搭建就完成了。下面是額外需求:漢化。
5.1 登陸SonarQube服務,搜索漢化包
點擊「Log in」登陸,默認的用戶名密碼是admin/admin
由於如今還不使用SonarQube,因此Analyze a project這一步能夠先跳過,之後用的時候再來設置:
而後點擊界面上的」Adminstration「,選擇下方的「Marketplace」,在下面的Plugins一欄,搜索「Chinese Pack」,搜索出來以後,點擊insatll進行安裝:
安裝完以後,點擊restart重啓服務:
以後從新登陸,就是中文界面了:
到此,7.4版本的SonarQube已經搭建、漢化工做完畢