SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误,网上有许多教程,我也是通过网上的教程搭起来的,就不细说了,主要说下搭建的时候遇到的问题。
我在windows先搭起来,很简单,然后在centos搭建,遇到一些问题
1.版本要对,java版本要1.8,mysql要5.6以上,我的centos之前有1.7的版本,mysql是5.1版本,所以搭起来执行sonar.sh start没反应
。
重点注意,遇到搭错的问题要勤看日志,不然就像无头苍蝇不知道错在哪,
日志在logs目录下,err.log,sonar.log,还有环境没什么问题的时候web服务起来,会出现web.log日志
查询版本问题 通过1
2yum -y list java*
yum -y list mysql*
安装的时候有时候yum源没有高版本的mysql需要更新源
2.安装之前环境要设置好,不然环境跑不起来,环境指这四个指标
- vm.max_map_count is greater or equals to 262144
- fs.file-max is greater or equals to 65536
- the user running SonarQube can open at least 65536 file descriptors
- the user running SonarQube can open at least 2048 threads
可以通过以下命令查询1
2
3
4sysctl vm.max_map_count
sysctl fs.file-max
ulimit -n
ulimit -u
3.web环境是sonarqube自带的,不需要自己搭建nginx或apache服务器,只需要在配置文件中设置好;数据库要先建个database,1
create database sonar
这个数据库名可以自定,只要和配置文件中的数据库名相同就行了,我定的‘sonar’,所以配置文件是这样的1
sonar.jdbc.url=jdbc:mysql://192.168.20.199:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
配置文件中设置java虚拟机大小最好2g,配置文件中默认的太小了,才128m-512m
,跑web环境的时候根本跑不起来,需要看web.log日志的时候才能看出来。