目前在持续集成领域,除了后起之秀travis ci,在老牌工具中,最著名的还是非jenkins莫属。本篇文章简单的说一声jenkins与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=.
至此,配置完成。