sonarqube代码检测使用配置

简述:

sonarqube对代码检测一般两种方式,一种直接在本地开发时代码提交之前进行检测,一种是代码提交到代码管理仓库后,在代码部署之前进行检测,本文将对两种方式做一个简单的操作记录和描述。

1.代码提交前进行代码检测

实现逻辑:因为maven支持sonarqube检测,所以可以在maven的配置文件里配置上sonarqube的检测信息后,可以在代码提交前先进行检测分析。

(1)先获取到sonarqube的登录信息
账号:admin
密码:admin
登录地址:http://192.168.10.112:9000

(2)找到maven的配置文件setting.xml,E:\Program Files\maven\apache-maven-3.9.2\conf\setting.xml,用记事本或其他能编辑的工具打开后在标签中添加内容如下:

	<profile>
    <id>sonar</id>
    <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
      <properties>
        <sonar.login>admin</sonar.login>
        <sonar.password>admin</sonar.password>
        <sonar.host.url>http://192.168.10.112:9000</sonar.host.url>
      </properties>
    </profile>

(3)登录sonarqube

当前登录可以看到无任何检测记录
sonarqube代码检测使用配置_第1张图片
(4)打开代码开发工具
选择终端,输入mvn -v查看mvn版本,再次输入mvn sonar:sonar 进行代码检测
sonarqube代码检测使用配置_第2张图片
(5)检测完毕后再次登录sonarqube查看检测结果
sonarqube代码检测使用配置_第3张图片

2.代码部署前检测

实现逻辑:其实就是将sonarqube整合到jenkins发布流程中,当代码发布之前jenkins服务将从代码仓库拉取到的源代码存到jenkins服务器,并打包,sonarqube在打包后对源代码和打包后的代码进行检测。
(1)sonarqube整合到jenkins,首先需要获取sonar-scanner-cli-4.6.1.2450-linux.zip包,获取地址链接:https://pan.baidu.com/s/1ixiRTb5nMTsHkKlARUWgmQ
提取码:8888
(2)通过传输工具将sonar-scanner-cli-4.6.1.2450-linux.zip包传输到装了jenkins的数据卷中并解压改名为sonar-scanner
sonarqube代码检测使用配置_第4张图片
解压
tar -zxvf sonar-scanner-cli-4.6.1.2450-linux.zip
改名
mv sonar-scanner-cli-4.6.1.2450-linux.zip sonar-scanner
(3)进入sonar-scanner找到文件 sonar-scanner.properties修改地址,并将编码字符集注释去掉后保存。
vim sonar-scanner.properties

#Configure here general information about the environment, such as SonarQube server connection details for example
#No information about specific project should appear here

#----- Default SonarQube server
sonar.host.url=http://192.168.10.111:9000

#----- Default source code encoding
sonar.sourceEncoding=UTF-8

(4)进入jenkins拉取的代码目录进行代码检测测试
cd /var/lib/jenkins/workspace/pipeline

执行如下命令进行检测

 [root@node2 mytest]# /var/lib/jenkins/sonar-scanner/bin/sonar-scanner -Dsonar.sources=./ -Dsonar.projectname=linux-test -Dsonar.login=admin -Dsonar.password=xlgw123456!  -Dsonar.projectKey=linux-test  -Dsonar.java.binaries=./target/classes  -X

参数如果有错误或不全,执行时会给提示,按照提示进行添加修改即可
主要参数:
-Dsonar.sources=./
-Dsonar.projectname=pip-test
-Dsonar.login=admin
-Dsonar.password=xlgw123456!
-Dsonar.projectKey=pip-test
-Dsonar.java.binaries=./target/classes
-X

执行成功后检测生成记录分析可登陆sonarqube进行查看
sonarqube代码检测使用配置_第5张图片

3.将代码检查命令整合到jenkins

(1)登录jenkins系统,下载相关插件
sonarqube代码检测使用配置_第6张图片
(2)系统配置,配置是注意密码可以用账号和密码,也可以使用token值进行登录的配置。
先登录sonarqube获取token
aab1d4e413b285a86c17e704ff940b9e129bf6f4
sonarqube代码检测使用配置_第7张图片
切回jenkins配置界面配置
sonarqube代码检测使用配置_第8张图片
sonarqube代码检测使用配置_第9张图片
(3)全局配置
sonarqube代码检测使用配置_第10张图片
sonarqube代码检测使用配置_第11张图片
(4)任务配置
找到一个任务进行相关的代码检测配置
sonarqube代码检测使用配置_第12张图片
sonarqube代码检测使用配置_第13张图片
(5)构建
sonarqube代码检测使用配置_第14张图片
(6)切换到sonarqube查看检测结果
sonarqube代码检测使用配置_第15张图片

你可能感兴趣的:(运维杂谈,jenkins,运维,测试工具)