当前位置:首页 > 技术文章 > 正文内容

第四篇 SonarQube部署及代码质量扫描

zonemu3个月前 (07-21)技术文章26

一、初始化SonarQube Token

点击 右上角账号 -> 下拉选择 我的账号 -> 点击 安全选项,输入 令牌名称 -> 点击 生成 或者 直接访问这个地址
http://10.10.10.144:9000/account/security/

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

二、扫描项目示例

如果通过sonar-scanner进行代码扫描的话需要下载sonar-scanner的安装包,如果通过maven或者sonarlint进行则不需要。

2.1、Maven扫描并提交到SonarQube

2.1.1、修改pom.xml文件

修改build节点,增加sonar-maven-plugin

<plugin>
    <groupId>org.sonarsource.scanner.maven</groupId>
    <artifactId>sonar-maven-plugin</artifactId>
    <version>3.6.0.1398</version>
</plugin>

2.1.2、扫描并提交

  • 执行扫描命令
    进入项目根目录 cd sonardemo,执行下面命令
mvn sonar:sonar -Dsonar.projectKey=com-luck-framesimple -Dsonar.host.url=http://10.10.10.144:9000 -Dsonar.login=39c67d30e2dae9181cc3160fbdb7b578d09f89c1


注意事项:
Dsonar.host.url:SonarQube访问地址
Dsonar.login:SonarQube生成的令牌

2.1.3、查看扫描结果

  • 扫描完成访问 http://10.10.10.144:9000 查看扫描结果
  • 点击项目名字可以查看扫描详情

2.2、SonarScanner扫描并提交到SonarQube

2.2.1、下载 SonarScanner

  • Sonar-scanner 工具是对源码进行扫描,并将结果保存到数据库以便用上面的sonarqube进行分析
  • 下载地址:https://docs.sonarqube.org/latest/analyzing-source-code/scanners/sonarscanner/
  • 解压到某个目录
    解压目录为:D:\BaiduNetdiskDownload\sonar-scanner-4.8.0.2856-windows

2.2.2、配置SonarScanner环境变量

配置 SonarScanner 文件的 bin 目录地址,配置到环境变量中

配置完成后,在控制台验证,使用命令 sonar-scanner -h

2.2.3、配置SonarScanner文件

进入
sonar-scanner-4.8.0.2856-windows\conf目录,打开 sonar-scanner.properties 文件,修改 sonar.host.url信息

2.2.4、创建项目扫描配置文件

扫描项目前,需要在项目根目录创建扫描文件 sonar-project.properties

sonar.projectKey=com-luck-framesimple-parent
sonar.projectName=com-luck-framesimple-parent
sonar.projectVersion=1.0
# sources code path
sonar.sources=.
# binaries code path
sonar.java.binaries=.
#sonar.java.binaries=src
#sonar.sources=src
#sonar.exclusions=**/test/**,**/target/**,*.xml
sonar.java.source=1.8
sonar.java.target=1.8
#sonar.libraries=module2/lib
sonar.language=java
# Encoding of the source code. Default is default system encoding
sonar.sourceEncoding=UTF-8
sonar.scm.disabled=true

参数说明:

2.2.5、扫描并提交

  • 执行扫描命令
    创建配置文件后,可以在目录中打开控制台,输入命令 sonar-scanner -Dsonar.login=myAuthenticationToken
sonar-scanner -Dsonar.login=39c67d30e2dae9181cc3160fbdb7b578d09f89c1

2.2.6、查看扫描结果

  • 扫描完成访问 http://10.10.10.144:9000 查看扫描结果
  • 点击项目名字可以查看扫描详情

三、扫描报表介绍

四、注意事项

  • SonarQube Unsupported JDBC driver provider: mysql
    SonarQube 7.9以上版本已不再支持MySQL数据库。
  • SonarQube启动报错:WrapperSimpleApp: Encountered an error running main: java.nio.file.AccessDeniedExcepti
    删除sonarqube temp目录下的所有文件即可。

相关文章

傻瓜式DEVOPS实践手册——Gitlab部署

GitLab是一款开放源代码的DevOps平台,用于实现从项目规划、源代码管理、CI/CD到监控和安全性的全方位集成。GitLab主要用于版本控制、协同开发、持续集成/持续部署 (CI/CD)、自动化...

编写简单的.gitlab-ci.yml打包部署项目

服务器说明:192.168.192.120:项目服务器192.168.192.121:GitLab为了可以使用gitlab的cicd功能,我们需要先安装GitLab Runner安装GitLab Ru...

K8s 的 Namespace 到底解决了什么问题?

在 Kubernetes 的世界里,资源调度、服务编排以及自动化运维构成了它强大的基础架构能力。但随着集群规模的扩大和团队协作复杂度的提升,仅靠原始的资源管理手段已经难以支撑多租户或大型项目的管理需求...

VIM配置整理(vim配置教程)

一、基本配色set number set showcmd set incsearch set expandtab set showcmd set history=400 set autoread se...

02.Web大前端时代之:HTML5+CSS3入门系列~H5结构元素

Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html1.结构元素 可以理解为语义话标记,比如:以前这么写<...

html5你能把太阳系动态做出来,但是你能把月亮也做出来吗?

需要源码请评论后加前端学习群470593776课题:HTML5加原生js打造一个炫酷动态的太阳系简介:首先对于太阳系各大星球的运转关系,速度等资料,不然弄出来也是被喷的下场, 还有对于逻辑思维,算法的...