1.前言
上文已经把Sonar所需的环境给搭建起来,接下来就需要配置Sonar以及将其应用到Jenkins,以下是本文内容的目录。
- 配置软件
- Mysql
- SonarQube
- 配置文件
- 插件更换
- 激活规则
- SonarQube Scanner
- 项目配置
- 配置脚本
- Jenkins配置
2.配置软件
2.1Mysql
根据上文安装好Mysql之后,还需要创建一个数据库供Sonar使用,在Mysql界面上执行以下语句即可。
|
|
2.2SonarQube
根据上文安装好Mysql之后,还需要配置具体的信息才能让SonarQube关联起来。
2.2.1配置文件
Sonar的配置文件在/usr/local/sonarqube-5.6.6/conf/sonar.properties
下,配置参考内容如下:
|
|
2.2.2插件更换
这里需要说明一下,因为Sonar本身是支持各种开发语言的,但是支持这些语言的前提是需要有对应的语法规则库作为插件提供给Sonar使用,但是发现官方的Objective-C语法库是需要付费的,所有在GitHub找到一些开源的语法库作为第三方库使用。比如sonar-objective-c、iOS-sonarShell。并且这些库要跟对应的执行文件一并使用才能让Sonar运行成功,然后我发现sonar-objective-c
是三年前的版本,支持的规则也不多,所以最后决定使用了[iOS-sonarShell
。
他们所对应的插件(jar包)需要放到Sonar的/usr/local/sonarqube-5.6.6/extensions/plugins
目录下才能识别到,同时也需要保留run-sonar_V2.1.sh
脚本与sonar-project.properties
配置文件。
2.2.3激活规则
虽然说插件能识别到,但是还需要在Sonar上激活这些规则才能够使用。步骤:启动Sonar后,我们进入顶部的质量配置,再点击下面的创建按钮,就会有一个弹窗出现,通过选择弹窗第二行内容,就会发现我们所加入的语法库规则,选择成功后点创建就算添加成功了。添加成功后可以到顶部的代码规则页面,在页面左侧能查看到刚新加的语言规则,如下图所示。
2.3SonarQube Scanner
配置SonarQube好后,还需要配置具体的信息才能让SonarQube Scanner跑起来。
2.3.1配置文件
Sonar的配置文件在/usr/local/sonar-scanner-3.0.3.778-macosx/conf/sonar-scanner.properties
下,配置参考内容如下:
|
|
3.项目配置
Sonar配置成功后,还需要将我们的项目应用到它的上面,通过扫描后得出代码质量的结果。现假设我有一个叫A名字的Objective-C项目,方便以下配置所用。
3.1配置脚本
将步骤2.2.2中保留下来的run-sonar_V2.1.sh
与sonar-project.properties
的文件复制一份到A项目的目录下,并修改sonar-project.properties
的内容如下:
|
|
4.Jenkins配置
项目配置成功后,还需要到Jenkins对应项目下的构建操作中添加一个新的构建步骤,叫Execute shell
。在Command栏目中加入我们需要执行的命令,命令参考如下:
|
|