上一篇文件介绍的是Sonarqube与Jenkins 集成使用的是Jenkins 的Sonar-Scanner 组件对源码进行扫描结合Jacoco 展示出来的是代码覆盖率今天这篇文章主要介绍使用Sonar-scanner工具进行本地扫描查看下源码除覆盖率以外其他的指标安全、可靠性、可维护性、已审查sonar-scanner在Sonarqube-我的账号-安全 一栏新增一个专门供sonar-scanners使用的通用令牌点击“生成”按钮后复制生成的ID新增项目选择“手工” 点击输入显示名项目标识会自动跟显示名保持一致输入主分支名称dev or test or uat两个选项都可以选择我选择了第一个遵循实例的默认配置每次扫描只扫这一版本更改过的来检查问题自定义可以选择上个版本也可以自定义天数或者引用分支创建1项目后到这个界面选择点击本地因为我们这边测试的是使用本地sonar-scanner扫描代码这里选择“使用已有令牌”将前面生成的令牌ID复制进去然后点击“继续”按钮在这里选择“其他”-“Linux”这里提示的执行扫描器的命令要复制好下面下载linux 扫描器时需要用到这段命令sonar-scanner \ -Dsonar.projectKeyxxxxxxxxx-shoudong \ -Dsonar.sources. \ -Dsonar.host.urlhttp://192.168.1.1:9000 \ -Dsonar.tokensqa_385ddcd1c51e6c1e4cb6a619a5370cd8b748f211Linux 平台部署扫描器---Sonar-Scanner#sonar-scanner-cli 下载连接 https://binaries.sonarsource.com/?prefixDistribution/sonar-scanner-cli #wget 下载 cd /data/app/pats_opts wget https://binaries.sonarsource.com/?prefixDistribution/sonar-scanner-cli/sonar-scanner-cli-8.1.0.6389.zip unzip sonar-scanner-cli-8.1.0.6389.zip #解压后会有一个sonar-scanner-8.1.0.6389 的文件夹重命名文件夹及到文件夹下新增sourcecode文件夹用来存放项目源码 mv sonar-scanner-cli-8.1.0.6389 sonar-scanner cd sonar-scanner mkdir sourcecode到sourcecode目录下新增一个以项目名称命名的.sh的脚本此用本用来shell 执行sonar-sacnner 命令脚本内容如小所示more xxx-shoudong-scanner.sh git clone -b master-test https://codeup.xxx.com/64a7a5d071f685caf0826898/xxx/xxx.git cd xxx /data/app/pats_opts/apache-maven-3.9.16/bin/mvn clean package /data/app/pats_opts/sonar-scanner/bin/sonar-scanner \ -Dsonar.projectKeyxxx-shoudong \ -Dsonar.sources. \ -Dsonar.host.urlhttp://192.168.1.96:9000 \ -Dsonar.tokensqp_c23b217563d40e17cfc39bbcf29f30b68c4e85ac \ -Dsonar.java.binariestarget/classes #-Dsonar.java.binaries**/target/classes 最后一行的这一句一定要加上不然在scanner时会提示找不到classes。 #这个项目执行sonar-scanner时 ./xxx-shoudong-scanner.sh 即可如下图所示即为执行成功了成功后到sonarqube页面就能看到这个项目的信息了sonarqube 页面介绍上一篇文章中Sonarqube 与Jenkins 集成只统计了覆盖率今天手动sonar-scanner 其他指标也有数值了详细需要修改的地方可以依次点击进去查看下sonarqube平台也会给出提示的Sonar waySonarWay 是Sonarqube 内置的一套“推荐标准”和“最佳实践”集合大部分情况下不需要自定义规则 直接使用官方推荐规则即可SonarWay 包括质量配置和质量门禁质量配置制定的是规则不同语言环境下的sonarway 质量配置的规则也是不一样的点击其中一个规则查看详细信息会有规则问题描述问题原因修复方法生效时间一些信息质量门禁指定阈值达到什么用的程度选达标SonarWay 需不需要自定义对于大部分项目来说可以直接使用SonarWay就够了SonarWay是官方推荐的基准线先用它跑起来后面在看如果规则感觉太松或者太严在考虑基于它去定制。下一批文章将介绍“DevOps 生态介绍六超详细Jenkins Pipeline 实战教程构建你的第一个 CI 项目”
DevOps 生态介绍(五):玩转SonarQube:代码静态扫描、Bug预警、质量门禁介绍
上一篇文件介绍的是Sonarqube与Jenkins 集成使用的是Jenkins 的Sonar-Scanner 组件对源码进行扫描结合Jacoco 展示出来的是代码覆盖率今天这篇文章主要介绍使用Sonar-scanner工具进行本地扫描查看下源码除覆盖率以外其他的指标安全、可靠性、可维护性、已审查sonar-scanner在Sonarqube-我的账号-安全 一栏新增一个专门供sonar-scanners使用的通用令牌点击“生成”按钮后复制生成的ID新增项目选择“手工” 点击输入显示名项目标识会自动跟显示名保持一致输入主分支名称dev or test or uat两个选项都可以选择我选择了第一个遵循实例的默认配置每次扫描只扫这一版本更改过的来检查问题自定义可以选择上个版本也可以自定义天数或者引用分支创建1项目后到这个界面选择点击本地因为我们这边测试的是使用本地sonar-scanner扫描代码这里选择“使用已有令牌”将前面生成的令牌ID复制进去然后点击“继续”按钮在这里选择“其他”-“Linux”这里提示的执行扫描器的命令要复制好下面下载linux 扫描器时需要用到这段命令sonar-scanner \ -Dsonar.projectKeyxxxxxxxxx-shoudong \ -Dsonar.sources. \ -Dsonar.host.urlhttp://192.168.1.1:9000 \ -Dsonar.tokensqa_385ddcd1c51e6c1e4cb6a619a5370cd8b748f211Linux 平台部署扫描器---Sonar-Scanner#sonar-scanner-cli 下载连接 https://binaries.sonarsource.com/?prefixDistribution/sonar-scanner-cli #wget 下载 cd /data/app/pats_opts wget https://binaries.sonarsource.com/?prefixDistribution/sonar-scanner-cli/sonar-scanner-cli-8.1.0.6389.zip unzip sonar-scanner-cli-8.1.0.6389.zip #解压后会有一个sonar-scanner-8.1.0.6389 的文件夹重命名文件夹及到文件夹下新增sourcecode文件夹用来存放项目源码 mv sonar-scanner-cli-8.1.0.6389 sonar-scanner cd sonar-scanner mkdir sourcecode到sourcecode目录下新增一个以项目名称命名的.sh的脚本此用本用来shell 执行sonar-sacnner 命令脚本内容如小所示more xxx-shoudong-scanner.sh git clone -b master-test https://codeup.xxx.com/64a7a5d071f685caf0826898/xxx/xxx.git cd xxx /data/app/pats_opts/apache-maven-3.9.16/bin/mvn clean package /data/app/pats_opts/sonar-scanner/bin/sonar-scanner \ -Dsonar.projectKeyxxx-shoudong \ -Dsonar.sources. \ -Dsonar.host.urlhttp://192.168.1.96:9000 \ -Dsonar.tokensqp_c23b217563d40e17cfc39bbcf29f30b68c4e85ac \ -Dsonar.java.binariestarget/classes #-Dsonar.java.binaries**/target/classes 最后一行的这一句一定要加上不然在scanner时会提示找不到classes。 #这个项目执行sonar-scanner时 ./xxx-shoudong-scanner.sh 即可如下图所示即为执行成功了成功后到sonarqube页面就能看到这个项目的信息了sonarqube 页面介绍上一篇文章中Sonarqube 与Jenkins 集成只统计了覆盖率今天手动sonar-scanner 其他指标也有数值了详细需要修改的地方可以依次点击进去查看下sonarqube平台也会给出提示的Sonar waySonarWay 是Sonarqube 内置的一套“推荐标准”和“最佳实践”集合大部分情况下不需要自定义规则 直接使用官方推荐规则即可SonarWay 包括质量配置和质量门禁质量配置制定的是规则不同语言环境下的sonarway 质量配置的规则也是不一样的点击其中一个规则查看详细信息会有规则问题描述问题原因修复方法生效时间一些信息质量门禁指定阈值达到什么用的程度选达标SonarWay 需不需要自定义对于大部分项目来说可以直接使用SonarWay就够了SonarWay是官方推荐的基准线先用它跑起来后面在看如果规则感觉太松或者太严在考虑基于它去定制。下一批文章将介绍“DevOps 生态介绍六超详细Jenkins Pipeline 实战教程构建你的第一个 CI 项目”