sonarqube7.5+hudson

版本:

sonarqube7.5

hudson 3.3.3

mysql 5.6

hudson:

已经安装完成。

mysql 5.6:

使用已有的mysql数据库服务,创建数据库及用户名密码

sonarqube7.5:

下载安装包,官网。

解压,上传到服务器。需要执行的文件要赋权

修改/***/****/sonarqube-7.5/conf/sonar.properties配置文件中数据库连接信息。数据库-sonarqube,用户名sonar,密码sonar

sonar.jdbc.url=jdbc:mysql:/*****************/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

lOverReadOnly=false

sonar.jdbc.username=sonar

sonar.jdbc.password=sonar

sonar.sorceEncoding=UTF-8

sonar.login=admin

sonar.password=admin

启动sonar,sh sonar.sh start

启动成功后,程序会自动连接数据库并初始化。

访问http://*********ip:9000,可以看到sonar页面,说明安装成功。

在hudson中调用:

android项目:android使用gradle构建,我们使用的是gradle3.5.1,首先在gradle目录中执行gradle wrapper,会生成gradlew文件。修改系统环境变量,使其可以直接在其他目录下直接执行。

android项目之前是不用上传gradle目录的,现在需要上传该目录及其下文件。

在sonar的项目管理页面新增项目,根据系统提示生成访问令牌,然后选择项目语言及构建技术,右侧会给出对应的调用方法。

其中build.gradle中添加的声明,需要添加在buildscript之后。

来到hudson页面,找到对应的项目构建工程,在设置页面,添加构建步骤(add build step),新增一个invoke gradle script步骤,选择use gradle wrapper,点选make gradlew wrapper选项,否则无法执行gradlew。在switches一栏填入上图中的构建命令:sonarqube -Dsonar.host.url=http://********:9000 -Dsonar.login=***************令牌*** -Dsonar.projectName=dev-maps-pipe-app

配置完成后,马上构建即可在构建过程中调用sonar进行检查。

maven构建与gradle略有不同,不需要添加声明,直接在命令中引用即可,在对应项目中的invoke maven 3步骤中,goals一栏添加命令参数sonar:sonar \

  -Dsonar.host.url=http://***IP****:9000 \

  -Dsonar.login=********令牌********

需要注意一点的是,构建的过程中可能出现某个文件不能被索引两次的错误( File app/src/main/res/layouts/home/layout/activity_dashboard.xml can't be indexed twice. Please check that inclusion/exclusion patterns produce disjoint sets for main and test files’)。此时需要看一下该文件是否需要被检查,我们在配置的过程中出现此错误的几个文件是xml和png文件,不需要进行检查,于是在sonar设置中将其排除。在sonar页面中  “配置--排除”页面找到排除的源文件和排除的测试文件,添加上述文件的路径,这里只需要在src开始往后填。


sonarqube7.5+hudson_第1张图片

项目检查结果:

sonarqube7.5+hudson_第2张图片

你可能感兴趣的:(sonarqube7.5+hudson)