sonar部署参考:blog.csdn.net/zdyueguanyu…
sonar增加PDF导出结果插件:
启动sonar时需要以非root用户启动,否则启动后服务一会挂掉或者启动不起来,使用sonar.sh console 命令查看后,输出日志如下:
问题原因: 用root启动过会创建temp目录,该目录为root用户所有,使用自己创建的sonar用户启动时就会报错(将temp目录下的conf删除后,重新切换为sonaruser用户启动即可)
解决方案:使用root用户修改该文件夹的用户组(temp),让它属于sonarqube的启动用户(自己创建的那个),再次启动就ok了
配置--pdf--username和password需要为admin用户的用户名和密码,保存后再次执行一次扫描即可
sonar部署步骤:
1、将sonarqube-7.1和sonar-scanner-3.3.0上传至/opt目录下
2、使用unzip 解压(如果提示unzip: command not found ,先执行yum install -y unzip zip;再进行解压)
3、使用navicat连接mysql数据库,新建一个sonarqube数据库。
4、进入解压后的sonarqube-7.1的文件目录下,进入conf文件夹,修改sonar.properties文件
选择连接的数据库(以mysql为例,如果需要连接其他的数据库,则在该配置文件中修改该数据库连接即可)
输入:
sonar.jdbc.password=密码
sonar.jdbc.url=jdbc:[mysql://localhost:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false]()
(localhost改为需要连接的数据库地址,sonarqube改为新建的sonarqube数据库名)
sonar.web.host=192.168.1.188
sonar.web.context=/sonarqube
sonar.web.port=9000
5、使用useradd新建一个用户sonaruser,并给该用户设置sonarqube-7.1的文件目录权限
chown -R sonaruser:sonaruser /xxx/sonarqube -7.1
chmod 777 -R sonarqube -7.1
6、切换sonaruser用户,su sonaruser
7、进入sonarqube的Linux下的bin目录,./sonar.sh start
8、进入sonarqube下的logs,目录,查看sonar.log tail -f sonar.log
如果出现sonarQube is up,则sonarqube成功启动,否则查看报错提示
如果提示:Process exited with exit value [es]: 143 ,则进入logs目录下,查看es.log
在es.log中提示 max file descriptors [4096] for elasticsearch process is too low,increase to at least [65536]
max virtual memory areas vm.max_map_count [65536] is too low ,increase to at least [262144]
解决方法如下:
1、max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
这里要增加vm.max_map_count的值
[root@localhost sonarqube-7.1]# vi /etc/sysctl.conf
vm.max_map_count=262144
[root@localhost sonarqube-7.1]# sysctl -p
在/etc/sysctl.conf中添加vm.max_map_count=262144后执行sysctl -p使配置生效。
2、max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
解决方案同上
[root@localhost sonarqube-7.1]# vi /etc/security/limits.confsonaruser hard nofile 65536sonaruser soft nofile 65536
切换sonaruser用户,使用ulimit -Hn指令查看配置是否生效
[sonaruser@localhost sonarqube-7.1]$ ulimit -Hn 65536
如果修改完,仍无法正常启动sonarqube,查看下web.log,sonar.log,es.log三个日志文件,查看提示的错误
9、正常启动sonarqube后,在浏览器中,输入xxx.xxx.x.xxx:9000/sonarqube,
输入admin,admin进入sonarqube界面,点击配置,应用市场,选择chinese Pack,点击安装(中文包)
10、进入虚拟机中opt目录下的sonar-scanner目录,进入conf目录,编辑sonar-scanner.properties文件
输入:
sonar.host.url=[http://xxx.xxx.x.xxx:9000/sonarqube](http://192.168.1.188:9000/sonarqube)
sonar.login=admin
sonar.password=admin
11、配置sonar-scanner环境
vi /etc/profile
在profile文件最后一行加入一行,输入sonar-scanner文件bin目录
export PATH="$PATH:/xxx/sonar-scanner-xxxx/bin"
执行source /etc/profile后,使用sonar-scanner -version查看环境是否配置成功,显示如下
12、环境搭建完成后,在sonarqube目录下新建一个sonar目录,将需要扫描的文件放入该目录下,在sonar-project.properties指定文件目录