企业如何通过Jenkins与SonarQube实现DevOps环境下的代码质量自动扫描?
- 内容介绍
- 文章标签
- 相关推荐
本文共计771个文字,预计阅读时间需要4分钟。
1. 概述 SonarScanner 是 SonarQube 的命令行工具,用于自动化代码分析。若每次都需要手动执行,则可能不符合 DevOps 思想。因此,建议进一步完善 SonarQube,实现代码分析的自动化。官方文档:https://docs.sonarqube.org/latest/ SonarScanner 支持自动化。
1. 概述如果每次都需要手动执行 SonarScanner ,肯定不是 DevOps 思想所不予许的。所以需要进一步完善 SonarQube 进行自动化代码分析。从官方文档的
docs.sonarqube.org/latest/
SonarScanner 支持 MSBuild、Maven、Gradle、Ant、Jenkins 等。SonarScanner 集成 Jenkins 进行自动化代码分析, 正是 DevOps 不可或缺的一部分。
2. Jenkins 安装 SonarQube Scanner 插件Manage Jenkins -> Manage Plugins
安装完后,需要重启一下 Tomcat 服务
3. 配置 SonarQube ScannerManage Jenkins -> Global Tool Configuration
填入 SonarScanner 的安装目录
4. 生成 SonarQube 的 Server authentication token登录 SonarQube 后,在 My Account ->Securiy 中生成 toekn
填一个有意义的令牌名称,然后点击生成。重新进入这个页面之前生成的 token 就看不到的,只能看到一次。
5. 增加 SonarQube 服务的凭证Manage Jenkins -> Manage Credentials
把第四步生成的 token 填入 Secret
6. 配置 SonarQube 服务Manage Jenkins -> Configure System
-
Name:SonarQube 的名字
-
Server URL:SonarQube 服务访问地址
127.0.0.1:9000/
-
Server authentication token:凭证
新建Item -> Freestyle project
这里选择 Freestyle project,当然如果是Maven项目,也可以安装支持Maven项目的插件,直接创建Maven项目。
首先配置 源码管理,这个就不多说了。如果不会参考之前的文章。
增加构建步骤
-
Task to run:任务名称,SonarQube 7.6 以上版本不需要再填这个域,否则会保存
-
Path to project properties:sonar-project.properties 配置文件的目录
-
Analysis properties :这个域就是不采用 sonar-project.properties 方式时,可以直接把 sonar-project.properties 文件的配置项填到这里。
这里采用 Analysis properties 方式,直接在 Analysis properties 填入如下内容
sonar.projectKey=ruoyi
sonar.projectName=ruoyi
sonar.projectVersion=1.0
sonar.language=java
sonar.sourceEncoding=UTF-8
sonar.sources=.
sonar.java.binaries=.
至此配置完毕,然后进行构建;构建结果如下
点击上图两个红框可以直接跳转 SonarQube 服务
本文共计771个文字,预计阅读时间需要4分钟。
1. 概述 SonarScanner 是 SonarQube 的命令行工具,用于自动化代码分析。若每次都需要手动执行,则可能不符合 DevOps 思想。因此,建议进一步完善 SonarQube,实现代码分析的自动化。官方文档:https://docs.sonarqube.org/latest/ SonarScanner 支持自动化。
1. 概述如果每次都需要手动执行 SonarScanner ,肯定不是 DevOps 思想所不予许的。所以需要进一步完善 SonarQube 进行自动化代码分析。从官方文档的
docs.sonarqube.org/latest/
SonarScanner 支持 MSBuild、Maven、Gradle、Ant、Jenkins 等。SonarScanner 集成 Jenkins 进行自动化代码分析, 正是 DevOps 不可或缺的一部分。
2. Jenkins 安装 SonarQube Scanner 插件Manage Jenkins -> Manage Plugins
安装完后,需要重启一下 Tomcat 服务
3. 配置 SonarQube ScannerManage Jenkins -> Global Tool Configuration
填入 SonarScanner 的安装目录
4. 生成 SonarQube 的 Server authentication token登录 SonarQube 后,在 My Account ->Securiy 中生成 toekn
填一个有意义的令牌名称,然后点击生成。重新进入这个页面之前生成的 token 就看不到的,只能看到一次。
5. 增加 SonarQube 服务的凭证Manage Jenkins -> Manage Credentials
把第四步生成的 token 填入 Secret
6. 配置 SonarQube 服务Manage Jenkins -> Configure System
-
Name:SonarQube 的名字
-
Server URL:SonarQube 服务访问地址
127.0.0.1:9000/
-
Server authentication token:凭证
新建Item -> Freestyle project
这里选择 Freestyle project,当然如果是Maven项目,也可以安装支持Maven项目的插件,直接创建Maven项目。
首先配置 源码管理,这个就不多说了。如果不会参考之前的文章。
增加构建步骤
-
Task to run:任务名称,SonarQube 7.6 以上版本不需要再填这个域,否则会保存
-
Path to project properties:sonar-project.properties 配置文件的目录
-
Analysis properties :这个域就是不采用 sonar-project.properties 方式时,可以直接把 sonar-project.properties 文件的配置项填到这里。
这里采用 Analysis properties 方式,直接在 Analysis properties 填入如下内容
sonar.projectKey=ruoyi
sonar.projectName=ruoyi
sonar.projectVersion=1.0
sonar.language=java
sonar.sourceEncoding=UTF-8
sonar.sources=.
sonar.java.binaries=.
至此配置完毕,然后进行构建;构建结果如下
点击上图两个红框可以直接跳转 SonarQube 服务

