> 安裝sonarQube
1. 簡介
qube是代碼走查的工具
> . 5.4的版本,可以匹配mysql和maria一切版本,并匹配scanner2.8版本,且可以在/bin/linux-x86-64用root用戶啟動,安裝簡單,但是漢化包必須在github手動把jar包導入extensions/plugins中,并重啟,但是如果集成到jenkins,用scanner掃描就需要漢化包,但是有一個bug,就是scanner一直提示未找到漢化包,看了報錯,好像是qube后來是用localhost:9000/api這個方式獲取是否有漢化包,但是我們舊版本只能用手動導入漢化包,所以一直通過不了
> . 6.6版本是需要mysql5.6或者以上的,而且需要相應的scanner版本,而且必須要要新建用戶,不能用root啟動,所以如果用root啟動會出現如下錯誤
* [ ] 錯誤1
```
sonar es can not run elasticsearch as root
```
這時候需要創建新用戶啟動(6.6后,sonar加入es插件,es需要除root以外的賬號啟動)
```
創建用戶(root狀態賬號下)
$ adduser sonarUser
為用戶創建密碼
$ passwd sonarUser
輸入兩次密碼,
修改sonar的目錄和用戶組為sonarUser
$ chown -R sonarUser:sonarUser /usr/local/sonar/sonarqube-6.6
重新啟動sonar
cd /usr/local/sonar/sonarqube-6.6/bin/linux-x86-64
$ sh sonar.sh start
```
* [ ] 錯誤2:這時候會有第二個錯誤,如果沒有就跳過
```
java.nio.file.AccessDeniedException: /usr/local/sonar/sonarqube-6.6/temp/conf/es/elasticsearch.ym
```
解決方法:(root賬號狀態下)
chown -R sonarUser:sonarUser /usr/local/sonar/sonarqube-6.6
* [ ] 錯誤3 這時候如果出現第三個錯誤:
```
[max virtual memory areas vm.max\_map\_count \[65530\] is too low, increase to at least \[262144\]]
```
解決方法:
切換到root用戶(sudo -i) 執行命令:
sysctl -w vm.max\_map\_count=262144
查看結果:
sysctl -a|grep vm.max\_map\_count
顯示:
vm.max\_map\_count = 262144
上述方法修改之后,如果重啟虛擬機將失效,所以:
解決辦法:
在?? /etc/sysctl.conf文件最后添加一行
vm.max\_map\_count=262144
即可永久修改
* [ ] 錯誤4:可能出現mysql版本太低,自己去更換,升級到5.6或者以上
> 6.6以上版本,可能需要相應的java版本1.8或者以上
2. 安裝
[https://www.sonarqube.org/downloads/](https://www.sonarqube.org/downloads/)
去這里下載相應的版本,然后去解壓,運行
3. 漢化([https://github.com/gggdfdg/sonar-l10n-zh](https://github.com/gggdfdg/sonar-l10n-zh))

選擇對應的版本下載,放入extensions/plugins中,重啟
4. 第二種漢化方法
6.6和之前的版本在update center中(**Administration -> system -> Update Center -> Available**)

6.7在Administration -> system -> AvailableMarketplace
之后直接在Administration -> Marketplace
5. 默認的sonar賬號和密碼
用戶名:admin
密碼:admin