【DevOps-07-2】Sonarqube基本使用

一、简要说明

Sonar Qube的使用方式很多,Maven可以整合,也可以采用sonar-scanner的方式,再查看Sonar Qube的检测效果

  • Sonarqube集成在Maven实现代码检测
  • 使用sonar-scanner客户端的方式

二、Sonarqube管理后台安装中文插件

1、登录Sonarqube管理后台

示例:http://192.168.95.131:9010/

【DevOps-07-2】Sonarqube基本使用_第1张图片

2、同意协议,安装中文插件

【DevOps-07-2】Sonarqube基本使用_第2张图片

【DevOps-07-2】Sonarqube基本使用_第3张图片

3、安装完成之后,重启Sonarqube服务

【DevOps-07-2】Sonarqube基本使用_第4张图片

【DevOps-07-2】Sonarqube基本使用_第5张图片

三、Maven实现代码检测

1、修改Maven的setting.xml文件配置,增加Sonarqube相关信息


  sonar
  
      true
  
  
      admin
      123456789
      http://192.168.95.131:9010
  

【DevOps-07-2】Sonarqube基本使用_第6张图片

2、配置好,重新再工程同步Maven依赖信息

【DevOps-07-2】Sonarqube基本使用_第7张图片

3、使用Maven命令对工程进行代码质量检测

$ mvn sonar:sonar

【DevOps-07-2】Sonarqube基本使用_第8张图片

4、登录Sonarqube的管理后台,查看代码质量检测报告

【DevOps-07-2】Sonarqube基本使用_第9张图片

【DevOps-07-2】Sonarqube基本使用_第10张图片

5、可以点击查看具体检测信息

【DevOps-07-2】Sonarqube基本使用_第11张图片

【DevOps-07-2】Sonarqube基本使用_第12张图片

四、Sonar-Scanner实现代码检测

1、Sonar-Scanner官方文档

SonarScanner CLIThe SonarScanner CLI is the scanner to use when there is no specific scanner for your build system.icon-default.png?t=N7T8https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/

【DevOps-07-2】Sonarqube基本使用_第13张图片

2、下载Sonar-Scanner

【DevOps-07-2】Sonarqube基本使用_第14张图片

3、上传Sonar-Scanner到服务器

【DevOps-07-2】Sonarqube基本使用_第15张图片

4、安装unzip,并解压Sonar-Scanner zip安装包

# 安装unzip
$ yum -y install unzip

# 进入到sonar-scanner安装包存放的目录
$ cd /data/soft

# 解压 sonar-scanner zip安装包
$ unzip sonar-scanner-cli-4.7.0.2747-linux.zip

5、移动Sonar-Scanner解压的文件夹到/usr/local/sonar-scanner目录

$ mv sonar-scanner-4.7.0.2747-linux /usr/local/sonar-scanner

【DevOps-07-2】Sonarqube基本使用_第16张图片

6、配置sonar-scanner服务端信息

【DevOps-07-2】Sonarqube基本使用_第17张图片

# 进入sonar-scanner配置文件目录
$ cd /usr/local/sonar-scanner/conf/

# 配置sonarqube相关信息
$ vi sonar-scanner.properties

【DevOps-07-2】Sonarqube基本使用_第18张图片

7、把sonar-scanner挂载到Jenkins Docker的文件卷

7.1、修改Jenkins docker-compose.yml文件

# 进入Jenkins的安装目录
$ cd /usr/local/deploy/jenkins/

# 编辑 docker-compose.yml
$ docker-compose.yml

【DevOps-07-2】Sonarqube基本使用_第19张图片

【DevOps-07-2】Sonarqube基本使用_第20张图片

7.2、重新启动Jenkins docker服务

$./docker-compose-restart.sh

【DevOps-07-2】Sonarqube基本使用_第21张图片

8、执行命令检查代码

8.1、在Sonarqube管理生成一个扫码用的用户登录授权token

sonar-scanner 命令中

-Dsonar.login=c8483abbf03c0fd4212ffce2c1e93c5ae8cd65bd使用

【DevOps-07-2】Sonarqube基本使用_第22张图片

【DevOps-07-2】Sonarqube基本使用_第23张图片

8.2、使用sonar-scanner检测代码质量

【DevOps-07-2】Sonarqube基本使用_第24张图片

  • -Dsonar.sources:被扫码的源码目录
  • -Dsonar.projectname:项目名称
  • -Dsonar.projectKey:项目key,一般与项目名称一致即可
  • -Dsonar.java.binaries:项目编译后的字节码
  • -Dsonar.login:Sonarqube用户登录授权token
# 进入需要扫码的工程目录
$ cd /usr/local/deploy/jenkins/jenkins-data/workspace/jenkins-publish-demo

# 使用sonar-scanner命令检测代码质量
$ /usr/local/sonar-scanner/bin/sonar-scanner \
    -Dsonar.sources=./ \
    -Dsonar.projectname=jenkins-publish-demo-linux \
    -Dsonar.projectKey=jenkins-publish-demo-linux \
    -Dsonar.java.binaries=./target/ \
    -Dsonar.login=c8483abbf03c0fd4212ffce2c1e93c5ae8cd65bd

【DevOps-07-2】Sonarqube基本使用_第25张图片

8.3、登录到sonarqube管理后台查看检测报告

【DevOps-07-2】Sonarqube基本使用_第26张图片

【DevOps-07-2】Sonarqube基本使用_第27张图片

你可能感兴趣的:(Sonarqube,devops,云原生,自动化工具,软件生命周期)