> 安装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))
![](https://img.kancloud.cn/a1/57/a157751f496f64ac1f0b167974eba872_1348x875.png)
选择对应的版本下载,放入extensions/plugins中,重启
4. 第二种汉化方法
6.6和之前的版本在update center中(**Administration -> system -> Update Center -> Available**)
![](https://img.kancloud.cn/94/71/9471306a1e52eb4b4fbd133fb72002ba_1639x376.png)
6.7在Administration -> system -> AvailableMarketplace
之后直接在Administration -> Marketplace
5. 默认的sonar账号和密码
用户名:admin
密码:admin