sonarQube + jenkins + maven
一、SonarQube搭建
二、SonarQube Scanner集成到Jenkins
三、SonarQube + Jenkins + maven项目分析
1.maven配置setting.xml
2.项目配置pom.xml
3.执行
一、SonarQube搭建
详见sonar系列一:SonarQube搭建 - docker方式
二、SonarQube Scanner集成到Jenkins
详见sonar系列二:SonarQube Scanner集成到Jenkins
三、SonarQube + Jenkins + maven项目分析
1.maven配置setting.xml
<pluginGroups>
<pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
</pluginGroups>
<profiles>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.host.url>
http://127.0.0.1:9000
</sonar.host.url>
</properties>
</profile>
</profiles>
2.项目配置pom.xml
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.4.0.905</version>
</plugin>
3.执行
方式一:
mvn clean verify sonar:sonar -Dsonar.login=sonar的token
方式二
mvn sonar:sonar \
-Dsonar.host.url=http://127.0.0.1:9000 \
-Dsonar.login=sonar的token
-Dsonar.projectName=项目名称
-Dsonar.projectKey=项目Key
Jenkins 任务配置
上面是 Jenkins 的一些全局配置,下面需要对单个任务进行配置。新建一个 “构建一个自由风格的软件项目” 类型的任务 “demo-sonar”
在构建中加入如下数据:
Task to run : scan
sonar.projectKey=demo
sonar.projectName=demo
sonar.projectVersion=1.0
sonar.sources=.
sonar.sourceEncoding=UTF-8
sonar.exclusions=node_modules/**/*,.idea/**/*
sonar.login=admin
sonar.password=admin
测试jenkins任务
在创建的jenkins任务中,点击“立即构建”即可立即执行sonar任务。
执行成功后,打开sonarqube的地址,即可看到代码检查结果。
方式三:
如果sonar单独执行,可以用如下命令
mvn clean install
mvn sonar:sonar -Dsonar.login=myAuthenticationToken
Jenkins成功执行结果如图