概述
sonarqube可以看做是一个平台,它将各个插件整合起来并以web界面的形式展示结果。它支持多种语言的静态扫描,这里首先进行了Java方面的尝试。操作系统是CentOS7,用到的数据库是postgres,整合的代码管理工具是Gitlab,CI流程没有用jenkins,而是用的gitlab自己的CI功能,代码开发工具用的是eclipse,lint采用的是sonarlint的连接服务器模式。
版本
由于工作环境中的jdk版本是1.8,所以考虑对应的sonarqube版本,最高版本是7.8,后期由于要跟Gitlab整合,需要用到一个gitlab的插件sonar-gitlab-plugin,它里面有一个preview模式,这个模式只支持到7.7,因此考虑使用了sonarqube7.6版本。
安装
下载sonarqube和sonarscanner
https://www.sonarqube.org/downloads/
下拉到下方的Historical Downloads区域选择想要的版本,这里选择版本7.6,选择这个版本的原因前面已经说明。
sonarqube在实际扫描代码的时候,是要调用sonarscanner工具进行扫描,这个工具和sonarqube有版本对应关系,可以选择具体版本查看,没有的选择相近版本查看即可
https://docs.sonarqube.org/7.8/analysis/scan/sonarscanner/
从这里得知,我们选用的sonarscanner的版本为3.3
https://binaries.s