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

目录

  • 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.hqwc.cn/news/130384.html

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

相关文章

算法练习11——买卖股票的最佳时机 II

LeetCode 122 买卖股票的最佳时机 II 给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。 在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。 返回…

NLP 项目:维基百科文章爬虫和分类【01】 - 语料库阅读器

自然语言处理是机器学习和人工智能的一个迷人领域。这篇博客文章启动了一个具体的 NLP 项目,涉及使用维基百科文章进行聚类、分类和知识提取。灵感和一般方法源自《Applied Text Analysis with Python》一书。 一、说明 该文是系列文章,揭示如何对爬取文…

从0开始学go第六天

方法一:gin获取querystring参数 package main//querystring import ("net/http""github.com/gin-gonic/gin" )func main() {r : gin.Default()r.GET("/web", func(c *gin.Context) {//获取浏览器那边发请求携带的query String参数//…

HTTPS建立连接的过程

HTTPS 协议是基于 TCP 协议的,因而要先建立 TCP 的连接。在这个例子中,TCP 的连接是在手机上的 App 和负载均衡器 SLB 之间的。 尽管中间要经过很多的路由器和交换机,但是 TCP 的连接是端到端的。TCP 这一层和更上层的 HTTPS 无法看到中间的包…

FPGA实现HDMI输入转SDI视频输出,提供4套工程源码和技术支持

目录 1、前言免责声明 2、我目前已有的SDI编解码方案3、设计思路框架核模块解析设计框图IT6802解码芯片配置及采集ADV7611解码芯片配置及采集silicon9011解码芯片配置及采集纯verilog的HDMI 解码模块RGB888转YUV422SPMTE编码SDI模式图像缓存SPMTE SDIGTXGV8500 4、vivado工程1-…

大型语言模型:RoBERTa — 一种鲁棒优化的 BERT 方法

一、介绍 BERT模型的出现导致了NLP的重大进展。BERT的架构源自Transformer,在各种下游任务上实现了最先进的结果:语言建模,下一句预测,问答,NER标记等。 大型语言模型:BERT — 来自变压器的双向编码器表示 …

尚硅谷CSS学习笔记

什么是css css&#xff08;层叠样式表&#xff09; 它是一种标记语言&#xff0c;用于给HTML结构设置样式。简单理解css可以美化html&#xff0c;实现结构与样式的分离。 <link rel"shortcut icon" href"favicon.ico" type"image/x-icon"&g…

20哈希表-三数之和

目录 LeetCode之路——15. 三数之和 分析&#xff1a; 官方题解&#xff1a; LeetCode之路——15. 三数之和 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nu…

win1011安装MG-SOFT+MIB+Browser+v10b

文章目录 安装MG-SOFTSNMP服务配置安装MG-SOFT启动MIB-Browser以及错误解决MIB Browser使用 安装MG-SOFT win10和win11安装基本一样&#xff0c;所以参照下面的操作即可&#xff01; SNMP服务配置 打开设置&#xff0c;应用和功能&#xff0c;可选功能&#xff0c;选择添加功…

vscode的窗口下拉显示行数不够

这是为了减少程序的空间占用而存在的一个设置。设置一下即可。 设置方法 在左上角文件&#xff0c;个人设置&#xff0c;设置中&#xff0c;&#xff08;或者用Ctrl&#xff0c;打开&#xff09; 输入terminal&#xff0c;找到bell duration&#xff0c;设置成1000。 参考…

【重拾C语言】七、指针(二)指针与数组(用指针标识数组、多维数组与指针、数组指针与指针数组)

目录 前言 七、指针 7.1~3 指针与变量、指针操作、指向指针的指针 7.4 指针与数组 7.4.1 用指针标识数组 7.4.2 应注意的问题 a. 数组名是指针常量 b. 指针变量的当前值 c. 数组超界 7.4.3 多维数组与指针 7.4.4 指针数组 a. 指针数组 b. 数组指针 c. 对比总结 前…