SonarQube学习笔记三:直接使用sonar-scanner扫描器

news/2024/5/17 16:59:38/文章来源:https://blog.csdn.net/xiangcns/article/details/133375606

目录

  • 1.安装Sanner扫描器
  • 2.环境变量配置
  • 3.创建项目
    • 3.1 登录并创建项目
    • 3.2 输入项目名称信息
    • 3.3 选择分析仓库类型
    • 3.4 创建令牌
    • 3.5 保存令牌(非必须)
    • 3.6 选择构建技术方案
      • 3.6.1 .Net类项目
      • 3.6.2 Java类项目
    • 3.7 获取Sonar检查结果
    • 3.8 在页面查看检查结果或者下载检查报告。
    • 3.9 Bug清单,点击可以查看该bug详细信息。
    • 3.10 bug优化建议

如果不采用自动化方式执行代码扫描。可以在本机安装Sonar Sanner扫描器,手动启动扫描。不过我不推荐这种做法,有Jenkins自动化跑的话是没有必要手动操作的。

1.安装Sanner扫描器

下载地址:
.Net类项目:
https://docs.sonarsource.com/sonarqube/9.9/analyzing-source-code/scanners/sonarscanner-for-dotnet/
其它类型项目请查阅:
Analyzing source code overview (sonarqube.org)

2.环境变量配置

以.Net为例,可执行文件的目录添加到 %PATH% 环境变量中。
在这里插入图片描述

在命令行输入:SonarScanner.MSBuild.exe,显示如下说明环境变量配置成功。
在这里插入图片描述

Scanner安装目录下修改SonarQube.Analysis.xml。添加url和token属性(token可以在完成创建令牌后再填入)。
在这里插入图片描述

3.创建项目

3.1 登录并创建项目

登录sonar首页,顶部菜单点击“项目”,然后在页面右上角点击“创建项目”,选择“手工”方式。
在这里插入图片描述

3.2 输入项目名称信息

输入显示名、标识和主分支,主分支默认是main,可以和自己仓库的分支名称保持一直。
在这里插入图片描述

3.3 选择分析仓库类型

选择“本地”。
在这里插入图片描述

3.4 创建令牌

选择“永不过期”,点击“创建”按钮。
在这里插入图片描述

3.5 保存令牌(非必须)

可以将令牌保存在本地(非必须),然后点击继续。
在这里插入图片描述

3.6 选择构建技术方案

根据自己的项目类型选择对应的构建技术方案。当你点击技术方案后,会直接给出运行命令,不同类型项目命令不同,复制到本机cmd窗口直接执行。

3.6.1 .Net类项目

如果您使用的是.NET Framework版本的扫描仪,则需要.NET Framework v4.6或更高版本。要使SonarQube的商业版本受益于安全分析,您需要.NET Framework v4.7.2或更高版本。
用于编译.NET扫描程序(.NET Framework、.NET Core或.NET)的flavor与生成要分析的项目时使用的.NET版本无关。具体来说,您可以使用.NET Framework版本的扫描程序来分析.NET Core代码。它只与您的操作系统和您的构建计算机上安装的.NET SDK版本有关。

以.Net Core项目举例说明操作方法:
在这里插入图片描述
如果是.Net Core需要安装工具,Framework的扫描器是SonarScanner.MSBuild.exe不通过该命令行方式安装:

dotnet tool install --global dotnet-sonarscanner

如果安装sonar成功,命令行显示如下:
在这里插入图片描述

dotnet sonarscanner begin /k:"-TEST" /d:sonar.host.url="http://192.10.50.55:9000"  /d:sonar.login="sqp_dc547e66c23228d82dd3c15ba7ed5e78c700c815"dotnet builddotnet sonarscanner end /d:sonar.login="sqp_dc547e66c23228d82dd3c15ba7ed5e78c700c815"

3.6.2 Java类项目

在这里插入图片描述

3.7 获取Sonar检查结果

在项目列表找到自己的项目,面板首页可以看到部分主要指标信息,点击项目名称可以进入详情页面。
在这里插入图片描述

3.8 在页面查看检查结果或者下载检查报告。

在这里插入图片描述

3.9 Bug清单,点击可以查看该bug详细信息。

在这里插入图片描述

3.10 bug优化建议

在bug详细信息界面查看问题的位置和原因,sonar工具对于部分bug会给出优化改进建议,目前建议信息不支持中文。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_558452.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

触控笔有必要买吗?便宜好用的手写笔推荐

电容笔不仅可以用于学习上,还能用于工作上,可见它的重要性。自从苹果发布了一款适合ipad使用的电容笔之后,这款电容笔立即就火遍了整个市面,只不过由于Apple Pencil的售价太高,大部分人都买不起。于是,市面…

ThreeJS-3D教学八-OBJLoader模型加载+动画

先看效果图: 本篇给大家介绍下模型加载的知识,用到了OBJLoader对应的模型,为了增加趣味性,花了些时间,利用new THREE.Points获取到模型上的点,做了一个动画效果,其实就是操作 Y轴上的点&#x…

JavaScript 编写一个 数值转换函数 万以后简化 例如1000000 展示为 100万 万以下原来数值返回

很多时候 我们看一些系统 能够比较只能的展示过大的数值 例如 到万了 他就能展示出 多少 多少万 看着很奇妙 但实现确实非常的基础 我们只需要一个这样的函数 //数值转换函数 convertNumberToString(num) {//如果传入的数值 不是数字 且也无法转为数字 直接扔0回去if (!parse…

在asp.net中,实现类似安卓界面toast的方法(附更多弹窗样式)

目录 一、背景 二、操作方法 2.1修改前 2.2修改后 三、总结 附:参考文章: 一、背景 最近在以前的asp.net网页中,每次点击确定都弹窗,然后还要弹窗点击确认,太麻烦了,这次想升级一下,实现…

10分钟深入探讨带你彻底理解浅拷贝与深拷贝

🎬 江城开朗的豌豆:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 📝 个人网站 :《 江城开朗的豌豆🫛 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 📘 引言 📘 1. 深拷贝…

vue3+ts项目04-国际化

yarn add vue-i18n yarn add js-cookie yarn add types/js-cookiesrc下新建i18n文件夹,该文件夹下新建lang和pages文件夹, lang文件夹下新建en.ts // 定义内容 export default {router: {home: home,system: {system: system,menu: systemMenu,role: sy…

Pymol做B因子图

分子动力学模拟结束后,获得蛋白的平均结构, 比如获得的平均结构为WT-average.pdb 然后将平均结构导入到Pymol 中,可以得到B因子图。 gmx rmsf -f md_0_100_noPBC.xtc -s md_0_100.tpr -o rmsf-per-residue.xvg -ox average.pdb -oq bfactors…

Android App备案获取公钥、签名MD5值

1.生成签名文件 keytool -genkey -alias 别名XXX -keypass 密码XXX -keyalg RSA -keysize 2048 -validity 36500 -keystore D:\XXX.keystore -storepass 密码XXX2.查看签名MD5值 keytool -list -v -keystore D:\XXX.keystore3.查看公钥 导出证书XXX.cer keytool -export -a…

vue接入高德地图获取经纬度

&#x1f90d;step1:高德地图开放平台&#xff0c;根据指引注册成为高德开放平台开发者&#xff0c;并申请 web 平台&#xff08;JS API&#xff09;的 key 和安全密钥; &#x1f90d;step2:在html引入安全密钥&#xff08;获取经纬度用&#xff0c;不然会报错&#xff09; <…

uniapp上echarts地图钻取

1: 预期效果 通过切换地图 , 实现地图的钻取效果 2: 实现原理以及核心方法/参数 一开始是想利用更换地图数据的形式进行地图钻取 , 这就意味着我们需要准备全国30多个省份的地图数据 , 由于一开始考虑需要适配小程序端 , 如此多的地图文件增加了程序的体积 , 如果使用接口调…

spring 事务源码阅读之实现原理

开启事务 使用EnableTransactionManagement注解开启事务 该注解会引入TransactionManagementConfigurationSelector类&#xff0c;然后该类导入两个类AutoProxyRegistrar和ProxyTransactionManagementConfiguration。 1、添加bean后置处理器 AutoProxyRegistrar类的作用是注…

大数据学习(2)Hadoop-分布式资源计算hive(1)

&&大数据学习&& &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 承认自己的无知&#xff0c;乃是开启智慧的大门 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4dd;支持一下博>主哦&#x…

前端uniapp生成海报并保存相册

uiapp插件 目录 图片qrcode.vue源码完整版封装源码qrcodeSwiper.vue最后 图片 qrcode.vue源码完整版 <template><view class"qrcode"><div class"qrcode_swiper SourceHanSansSC-Normal"><!-- <cc-scroolCard :dataInfo"dat…

10-09 周一 图解机器学习之深度学习感知机学习

10-09 周一 图解机器学习之深度学习感知机学习 时间版本修改人描述2023年10月9日14:13:20V0.1宋全恒新建文档 简介 感知机是神经网络中的概念&#xff0c;1958年被Frank Rosenblatt第一次引入。感知机作为一种基本的神经网络模型&#xff0c;它模拟了人脑神经元的工作原理。感…

Python+requests+Excel数据驱动的接口自动化测试中解决接口间数据依赖

在实际的测试工作中&#xff0c;在做接口自动化过程中往往会遇到接口间数据依赖问题&#xff0c;即API_03的请求参数来源与API_02的响应数据&#xff0c;API_02的请求参数又来源与API_01的响应数据&#xff0c;因此通过自动化方式测试API_03接口时&#xff0c;需要预先请求API_…

山西电力市场日前价格预测【2023-10-11】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2023-10-11&#xff09;山西电力市场全天平均日前电价为507.37元/MWh。其中&#xff0c;最高日前电价为873.70元/MWh&#xff0c;预计出现在18: 45。最低日前电价为313.23元/MWh&#xff0c;预计…

阿里云数据库MongoDB恢复到本地

共两种方式&#xff0c;建议使用第二种的逻辑恢复&#xff0c;比较方便快捷 一、下载物理备份文件 下载的格式是xb的&#xff0c;主要跟实例创建时间有关&#xff0c;2019年03月26日之前创建的实例&#xff0c;物理备份文件格式为tar&#xff0c;后面全部都是xb的格式了&#…

PTA 7-3 插松枝(单调栈)

题目7-3 插松枝 人造松枝加工场的工人需要将各种尺寸的塑料松针插到松枝干上&#xff0c;做成大大小小的松枝。他们的工作流程&#xff08;并不&#xff09;是这样的&#xff1a; 每人手边有一只小盒子&#xff0c;初始状态为空。 每人面前有用不完的松枝干和一个推送器&#…

C++ 获取文件创建时间、修改时间、大小等属性

简介 获取文件创建时间、修改时间、大小等属性 代码 #include <iostream> #include <string.h> #include <time.h>void main() {std::string filename "E:\\LiHai123.txt";struct _stat stat_buffer;int result _stat(filename.c_str(), &s…

shein汇总

如何将mysql的数据同步到es 1、使用Canal&#xff1a;Canal是阿里巴巴开源的一款基于MySQL数据库增量日志解析和同步的工具。Canal可以将MySQL中的数据同步到ES中&#xff0c;支持多种数据格式和数据源。 2、使用自定义脚本&#xff1a;可以编写自定义脚本&#xff0c;通过My…