目前在持续集成领域,除了后起之秀travis ci,在老牌工具中,最著名的还是非jenkins莫属。本篇文章简单的说一声jenkins与sonarqube的集成来实现代码的静态审核。
在这里不详细罗列jenkins的安装与初始化配置,假设你已经安装好了jenkins,并正常启动了。我们直接 开始安装sonarqube的插件,方法如下:
系统管理 --> 管理插件 --> 可选插件 --> Sonarqube Plugin
安装完成以后,在jenkins系统设置中配置sonarqube如下:
系统管理 --> 系统设置 --> SonarQube
配置如下:
配置项说明如下:
Name:定义一个名称,可随意指定
Server URL:定义sonarqube的访问地址
SonarQube account login:填写登录sonar的用户名
SonarQube account password:填写登录sonar的密码
Database URL:sonar数据库的连接地址,示例:jdbc:mysql://10.5.10.107:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
Database login:登录sonar数据库的用户名
Database password:登录sonar数据库的密码
Database driver:我看到有些版本中有该项,在我使用的版本里没有,如果有的话,可以设置为com.mysql.jdbc.Driver
需要说明的是,如果sonar的执行指令sonar-runer-2.4不在标准路径下,则需要指定路径,在有些jenkins版本,可以直接定义SONAR_RUNNER_HOME变量,我使用的版本里没有这项定义。可以通过如下方法定义:
系统管理 --> 系统设置 --> 全局属性 --> 勾选Environment variables,如下:
在项目构建中使用sonarqube
在“构建”中增加构建步骤,选择"Invoke Standalone SonarQube Analysis",如下:
在项目的代码仓库中添加sonar-project.properties文件,内容如下:
sonar.projectKey=projectname
sonar.projectName=projectname
sonar.projectVersion=1.0
sonar.sourceEncoding=UTF-8
sonar.sources=.
至此,配置完成。