Jenkins整合SonarQube代码审查工具

1.安装SonarQube
这个就不演示了,上一篇文章有介绍过,这篇文章着重演示Jenkins和SonarQube的整合

2.Jenkins安装SonarQube插件 SonarQube Scanner
在这里插入图片描述
安装成功
在这里插入图片描述

3.配置SonarQube工具
在这里插入图片描述
4.添加SonarQube凭证
在这里插入图片描述
5.绑定SonarQube
在这里插入图片描述
6.自由风格项目构建
进入设置
在这里插入图片描述

# must be unique in a given SonarQube instance  
# 必须是唯一的在一个给定的SonarQube实例
sonar.projectKey=test1
# this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.	
# 这是SonarQube UI中显示的名称和版本。在SonarQube 6.1之前是强制性的
sonar.projectName=test1
sonar.projectVersion=1.0

# Path is relative to the sonar-project.properties file. Replace "\" by "/" onWindows.
# Path是相对于声纳项目的。属性文件。将“\”替换为“/”。
# This property is optional if sonar.modules is set.
# 这个属性是可选的,如果声纳。模块设置。
#源码目录
sonar.sources=.		
# 需要排除的目录
sonar.exclusions=**/test/**,**/target/**	
# 二进制文件路径
sonar.java.binaries=./target/classes	
# JDK版本
sonar.java.source=1.8
sonar.java.target=1.8

# Encoding of the source code. Default is default system encoding
# 非编码的源代码。默认是默认的系统编码
sonar.sourceEncoding=UTF-8

保存应用

7.构建项目
在这里插入图片描述

8.查看SonarQube客户端
在这里插入图片描述
搞定!!!

9.测试代码审查
添加异常
在这里插入图片描述
从新构建
在这里插入图片描述
查看SonarQube客户端
在这里插入图片描述
进入审查列表
在这里插入图片描述
进入bug
在这里插入图片描述
查看详情
在这里插入图片描述

10.流水线项目构建
项目中根目录创建sonar-project.properties文件和Jenkinsfile文件
在这里插入图片描述
sonar-project.properties

# must be unique in a given SonarQube instance
sonar.projectKey=test1_pip
# this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.
sonar.projectName=test1_pip
sonar.projectVersion=1.0

# Path is relative to the sonar-project.properties file. Replace "\" by "/" onWindows.
# This property is optional if sonar.modules is set.

sonar.sources=.
sonar.exclusions=**/test/**,**/target/**
sonar.java.binaries=./target/classes
sonar.java.source=1.8
sonar.java.target=1.8

# Encoding of the source code. Default is default system encoding
sonar.sourceEncoding=UTF-8

Jenkinsfile

pipeline {
   agent any

   stages {
      stage('pull code') {
         steps {
            echo '拉取拉取代码'
            checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'b52a369a-9e90-4971-bd55-6ba17eb273f1', url: 'http://192.168.0.188:8888/gitlab/liutao/test.git']]])
         }
      }
       stage('code checking') {
               steps {
                  echo '代码检查'
                  script {
                        //引入Jenkins全局配置中配置的SonarQube工具名字
                        //自由风格会默认去找全局配置中的这个工具
                        scannerHome = tool 'SonarQube'
                  }
                  //SonarQube引入SonarQube的服务器环境  就是全局配置SonarQube servers
                  withSonarQubeEnv('SonarQube') {
                        sh "${scannerHome}/bin/sonar-scanner"
                  }

               }
      }
      stage('build project') {
         steps {
            echo 'Maven译编译打包'
            sh label: '', script: 'mvn clean package'
         }
      }
   }
}

推送远程仓库

11.创建流水线项目类型
在这里插入图片描述

12.开始构建
在这里插入图片描述
13查看SonarQube客户端
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员劝退师-TAO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值