迷城网络 - 专注于中小企业Linux运维服务

当前位置: 迷城网络 > 服务器配置 >

Jenkins集成SonarQube进行代码质量扫描

时间:2019-11-25 13:23来源:[db:文章来源] 作者:迷城网络科技 点击:
一、前言 1、本文主要内容 Jenkins集成SonarQube Server配置 Jenkins集成SonarQube Scanner配置 Jenkins+Maven+SonarQube扫描Java项目代码质量 Jenkins集成SonarQube Scanner参数说明 2、环境信息 服务器 服务器名

一、前言

1、本文主要内容

  • Jenkins集成SonarQube Server配置
  • Jenkins集成SonarQube Scanner配置
  • Jenkins+Maven+SonarQube扫描Java项目代码质量
  • Jenkins集成SonarQube Scanner参数说明

2、环境信息

  • 服务器
服务器名 操作系统 IP 说明
Jenkins CentOS 7 192.168.88.44 部署Jenkins
Sonar CentOS 7 192.168.88.45 部署Sonar
  • 软件
工具/环境 版本
Jenkins 2.176.2
Maven 3.6.1
SonarQube Server 7.5
SonarQube Scanner 2.8
JDK 1.8.0_181

3、准备工作

  • Jenkins部署

参考:https://ken.io/note/centos7-jenkins-install-tutorial

部署在服务器192.168.88.44,访问地址为:http://192.168.88.44:8080

  • SonarQube部署

参考:https://ken.io/note/sonarqube-install-and-code-scan-tutorial

部署在服务器192.168.88.45,访问地址为:http://192.168.88.45:9000

二、Jenkins集成SonarQube配置

1、安装插件

菜单:管理Jenkins->插件管理,安装以下插件:

  • 插件列表
插件名 版本 说明
SonarQube Scanner 2.9 集成SonarQube进行代码扫描/检查

2、生成SonarQube Token

SonarQube菜单:My Account -> Security 或者访问:http://192.168.88.45:9000/account/security/

jenkins-sonarqube-token-generate.png

生成之后记得复制并保存Token,不然页面刷新或者关闭后就无法查询到Token了。

ac28526ece72a4f10104059049d3e6e0347da9f7

3、添加Jenkins凭据

菜单:凭据 —> 系统 -> 全局凭据 -> 添加凭据,或者直接访问:http://192.168.88.44:8080/credentials/store/system/domain/_/newCredentials添加凭据

jenkins-credentials-sonarqube-token.png

类型选择:Secret text,然后Secret中填入之前生成的Token,ID只要不跟之前重复就行。

4、配置SonarQube Server

菜单:管理Jenkins -> 系统设置 ,或者直接访问:http://192.168.88.44:8080/configure

找到SonarQube servers配置项增加SonarQube Server

jenkins-configure-sonarqube-server.png

配置项说明:

配置项 说明
Name Sonar服务名,按照自己习惯来即可
Server URL SonarQube Server的主页地址
Sonar authentication token Sonar Token,选择已添加的凭据即可

5、配置SonarQube Scanner

菜单:管理Jenkins -> 全局工具配置 ,或者直接访问:http://192.168.88.44:8080/configureTools,找到SonarQube Scanner
配置项然后点击SonarQube Scanner 安装

jenkins-configure-tools-sonarqube-scanner.png

为了省事儿,这里我们选择自动安装,版本选择2.8

以上各个配置项,记得点击保存按钮

三、Jenkins构建Job配置

如果已经有了Maven+Java项目的构建Job直接选择配置即可,如果没有可以参考:https://ken.io/note/jenkins-maven-git-java-integration ,添加一个Maven+Java项目的构建任务。

参考:https://ken.io/note/jenkins-maven-git-java-integration

1、添加SonarQube Scanner

Post Steps配置项中点击:Add post-build step,然后选择:Execute SonarQube Scanner

jenkins-job-poststeps-add-sonarqube-scanner.png

2、配置SonarQube Scanner

jenkins-job-poststeps-config-sonarqube-scanner.png

这里我们只需要在Analysis properties中配置sonar扫描的参数即可

sonar.projectKey=io.ken.tutorial.helloworld
sonar.projectName=helloworld
sonar.projectVersion=1.0
sonar.sources=src
sonar.java.binaries=target/classes
sonar.language=java

参数说明:

参数项 说明
sonar.projectKey 项目Key,需要唯一,建议使用GroupId+ArtifactId
sonar.projectName 项目名称,跟ArtifactId保持一致即可
sonar.projectVersion 项目版本,跟pom.xml保持一致即可
sonar.sources 源码目录,Java项目默认就是src,如果项目有多个module,那就需要配置为{moduleDirectory}/src
sonar.java.binaries 编译产出的classes目录,如果项目有多个module,那就需要配置为{moduleDirectory}/target/classes

3、构建&扫描

完成以上SonarQube Scanner配置,就可以进行项目构建,构建成功后,访问SonarQube,将在项目列表看到扫描的结果:

jenkins-sonarqube-scan-result.png

如果构建失败,可能是访问SonarQube Server出现了问题,或者SonarQube Scanner配置的有问题,具体可以查看Jenkins构建Job的控制台输出

四、备注

1、附录

(责任编辑:迷城网络科技)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容