sonar服务器搭建
sonar组件关系
- sonarqube平台不能有多个服务器共用1个数据库
- 为了获得最佳性能,每个组件(sonarqube,数据库,sonar-scanner)应安装在单独的计算器上,并且服务器其计算机应是专用的
- sonar-scanner可以通过添加机器进行扩展
- 所有机器必须时间同步
- sonarqube服务器和sonarqube数据库必须位于同一网络
- sonar-scanner和sonarqube服务器不需要在同一网络
- sonar-scanner与sonarqube数据库不相干
调整服务器JVM内存
- 默认情况下,SonarQube配置为在具有简单JAVA JRE的任何计算机上运行。但是作为服务器和更好的性能,需要配置sonar的sonar.properties
sonar.web.javaOpts=-server # 取消注释
- 为web服务器、计算引擎/弹性搜索提供更多内存,修改sonar配置sonar.properties
sonar.web.javaOpts=-server -Xmx4g #JVM java虚拟的内存大小调整即可
sonar.ce.javaOpts=-server -Xmx4g #JVM java虚拟的内存大小调整即可
sonar.search.javaOpts=-server -Xmx4g #JVM java虚拟的内存大小调整即可
数据库
- 官方文档是不推荐使用mysql的(不安全),单机使用时是可以的,当数据库和sonar不在一台机器上的时候是否有这个强制要求没有尝试过。
- sonar还可以支持oracle、PostgreSQL、Microsoft SQLServer。不过使用这些数据库就需要在sonarqube-7.7/extensions/jdbc-driver/ 文件夹中放入相应的数据库驱动jar包,每一种方式一定只能放1个,放多个sonar会无法识别(未尝试,也可能sonar自带驱动)
搭建服务器
据官方文档给出,单机搭建sonar作为服务器时,要给注册一个系统账户用于使用(未尝试过)