Jenkins集成sonarqube方案评审
Jenkins+GitLab+sonarqube三者的联通
1. 工具的插件准备
Jenkins需要安装SonarQube Scanner plugin
sonarqube需要安装gitlab plugin/语言分析插件如SonarPHP
2. 分析的流程图
流程图.jpg
sonarqube分析php项目使用的方案选择
1.使用sonarqube第三方插件方式【不可行】
-
SonarPHP插件已取消对php_codesniffer,PMPMD等工具的支持,无法导出第三方工具的结果
sonarqube-php-plugin.png
- sonarqube市场下已有的checkstyle,findbug插件,规则仅对Java语言有效
2. 使用sonarqube自定义插件
- 通过sonar官方给出的插件demo,我们可以验证自定义插件是可行的
基于使用sonarqube自定义插件,我们要做的
- 将sonarqube现有的针对php的psr2规则与我们公司的osr0规则作比较,理出我们需要额外增加的规则加包
- "=" 的间距不正确; 期望是 1 个空格
- 数组的相应规范
- 函数注释的相应规范
- 通过java开发出额外的规则加包