前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jenkins集成SonarQube进行代码质量扫描

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

作者头像
KenTalk
发布2020-01-20 16:44:04
5.3K3
发布2020-01-20 16:44:04
举报
文章被收录于专栏:Ken的杂谈

一、前言

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://cloud.tencent.com/developer/article/1333792

部署在服务器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/

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

ac28526ece72a4f10104059049d3e6e0347da9f7

3、添加Jenkins凭据

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

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

4、配置SonarQube Server

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

找到SonarQube servers配置项增加SonarQube Server

配置项说明:

配置项

说明

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 安装

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

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

三、Jenkins构建Job配置

如果已经有了Maven+Java项目的构建Job直接选择配置即可,如果没有可以参考:https://cloud.tencent.com/developer/article/1578437 ,添加一个Maven+Java项目的构建任务。

参考:https://cloud.tencent.com/developer/article/1578437

1、添加SonarQube Scanner

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

2、配置SonarQube Scanner

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

代码语言:javascript
复制
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,将在项目列表看到扫描的结果:

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

四、备注

1、附录

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言
    • 1、本文主要内容
      • 2、环境信息
        • 3、准备工作
        • 二、Jenkins集成SonarQube配置
          • 1、安装插件
            • 2、生成SonarQube Token
              • 3、添加Jenkins凭据
                • 4、配置SonarQube Server
                  • 5、配置SonarQube Scanner
                  • 三、Jenkins构建Job配置
                    • 1、添加SonarQube Scanner
                      • 2、配置SonarQube Scanner
                        • 3、构建&扫描
                        • 四、备注
                          • 1、附录
                          相关产品与服务
                          腾讯云代码分析
                          腾讯云代码分析(内部代号CodeDog)是集众多代码分析工具的云原生、分布式、高性能的代码综合分析跟踪管理平台,其主要功能是持续跟踪分析代码,观测项目代码质量,支撑团队传承代码文化。
                          领券
                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档