sonarqube搭建时遇到的坑

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
2
yum -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
4
sysctl 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日志的时候才能看出来。