+ [2.2、修改SonarScanner CLI配置](#22SonarScanner_CLI_73)
+ [2.3、Jenkins配置SonarQube Scanner](#23JenkinsSonarQube_Scanner_87)
+ [2.4、Github用户token获取](#24Githubtoken_90)
+ [2.5、新建一个项目](#25_100)
前言
终于来到最后了。前面的两篇文章都是配置项,务必能成功启动和运行,才可以进行第三步的联动配置。
SonarQube+JenKins+Github三者之间的自动化构建和代码扫描,听起来确实是非常高效率的,但是网上文章都是老版本,很多都是2018左右的版本,照着他们的步骤来,在2024年的今天,新版是完全不一样了,所以我当初配置的时候,也是花了2天的时间,最后总结成3篇文章,供大家参考。
2024新版SonarQube+JenKins+Github联动代码扫描(1)-JenKins安装与配置
2024新版SonarQube+JenKins+Github联动代码扫描(2)-SonarQube代码扫描
2024新版SonarQube+JenKins+Github联动代码扫描(3)-三者联动配置最终章
提示:以下是本篇文章正文内容,由于三者的联动配置有点过于复杂,有点不太方便,本文也是我一边摸索一边记录的情况下总结的配置文章,可能会存在无用或者多余的配置项,下面案例可供参考
一、Sonar方面
sonar生成一个用户token:
这个sonar的token一定要备份好,因为只显示一次。
二、Jenkins方面
2.0、简单配置
下载SonarQube插件:Manage Jenkins > Manage Plugins and install the SonarQube Scanner plugin.
生成全局凭据(担心你们找不到,所以我把路径贴出来了):
http://jenkins的ip:6543端口/manage/credentials/store/system/domain/_/
点击添加,Kind: Secret Text,Scope: Global,secret选择为sonarqube的用户token。
返回dashboard控制台,系统设置-系统配置:
在 SonarQube 服务器部分,单击添加 SonarQube。添加以下信息:
名称:为你的 SonarQube 实例命名。
服务器 URL:你的 SonarQube 实例 URL。
凭证:选择在步骤 4 中创建的凭证。
点击保存。
2.1、下载SonarScanner CLI
注意,要在Jenkins的服务器上面下载。CLI的官方下载地址为:
https://docs.sonarsource.com/sonarqube/latest/analyzing-source-code/scanners/sonarscanner/
下载命令(后面的下载url是我自己的url,可能会存在token已经过期下载不了的情况。你们换成自己的CLI url,反正命令是用wget):
wget -O demo.zip https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-5.0.1.3006-linux.zip?_gl=1*uzjpdr*_gcl_au*ODQ2ODg3NzcyLjE3MDg5NDExNzc.*_ga*NTY0Njg5MjAwLjE3MDg5NDExNzc.*_ga_9JZ0GZ5TC6*MTcwOTAyNjE1My40LjEuMTcwOTAzMjQyMi41OS4wLjA.
并解压到相应位置,美其名曰 ${SonarqubeScanner}
pwd一下,做个地址备份:
/root/sonarScanner_CLI/sonar-scanner-5.0.1.3006-linux
2.2、修改SonarScanner CLI配置
vi ${SonarqubeScanner}/conf/sonar-scanner.properties
#----- Default SonarQube server
sonar.host.url=http://localhost:9000
#----- Default source code encoding
sonar.sourceEncoding=UTF-8
2.3、Jenkins配置SonarQube Scanner
2.4、Github用户token获取
获取github的用户token:
头像-设置-点击Developer settings下的Personal access tokens:
Github token记得备注,因为也是只显示一次。
Jenkins再次添加全局凭据:
2.5、新建一个项目
build strps设置:
sonar.projectKey=ksjdfksdjf
sonar.projectName=java_sec
sonar.projectVersion=1.0
sonar.language=java
sonar.sourceEncoding=UTF-8
sonar.sources=$WORKSPACE
sonar.java.binaries=$WORKSPACE
sonar.projectKey代表的是项目标识,会在sonar的项目标识中显示。这里随便输入也行,目的就是为了方便标记你的项目名称,这个标识最终会出现在Sonar的扫描结果中。
sonar.projectName代表在sonar中自动生成的项目名。
其他默认粘贴即可。
在Jenkins中构建项目完成后,sonar那边就会自动生成扫描结果了,成功: