首页 > 其他分享 >SonarQube安装及分析.NET 5.0代码

SonarQube安装及分析.NET 5.0代码

时间:2023-10-31 16:03:17浏览次数:48  
标签:5.0 SonarQube dotnet 点击 sonarqube sonar NET 下载

SonarQube安装及分析.NET 5.0代码

一、写在前面

在日常逛园子的时候发现了SonarQube 这个代码质量管理平台,感觉挺有意思的所以决定自己捣鼓一下,使用方法大多来源网上本文章只是记录一下使用过程。

二、下载安装

1.官网下载地址:https://www.sonarsource.com/products/sonarqube/downloads/

本来是下载的最新版本捣鼓了一整发现始终打不开,后来百度到SonarQube 7.9开始需要Java 11且不支持mysql了,所以全部删除后下载7.8版本

SonarQube 7.8下载地址:https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.8.zip也可以把7.8改成想要的版本进行下载

2.下载完成后移动到自己的目录并解压,我存放的位置D:\Program Files\sonarqube

3.解压文件后进入文件的bin目录会看到很多对应系统的文件夹,本文使用win64系统进行演示的所以直接进入D:\Program Files\sonarqube\sonarqube-7.8\bin\windows-x86-64目录点击StartSonar.bat文件,然后在浏览器输入http://localhost:9000,能正常进入页面说明安装成功

4.然后关闭程序,这里需要在任务管理器进程里关闭,关闭控制台进程还在

image-20231031141737166

三、汉化

由于低版本SonarQube自带的插件商店没有对应的汉化版本,这里我们自己下载汉化插件。

下载地址:https://github.com/xuhuisheng/sonar-l10n-zh/releases,下载下方的jar包即可(注意对应版本)

image-20231030161300734

下载完成之后,我们将这个jar包放入SonarQube的安装目录下的extensions\plugins文件夹中即可。

附论坛下载地址:https://files.cnblogs.com/files/blogs/804227/SonarQube7.8%E6%B1%89%E5%8C%96.rar?t=1698653721&download=true

四、创建SonarQube数据库

由于SonarQube默认使用的内嵌数据库H2,这种不适应于生产环境,所以我们替换成mysql数据库,首先创建一个名为sonarqube的数据库,然后在SonarQube的配置文件conf\sonar.properties中添加如下配置:

# 数据库连接信息
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=root
sonar.jdbc.password=root
sonar.sorceEncoding=UTF-8
# SonarQube的web页面登录信息
sonar.login=admin
sonar.password=admin

image-20231030162254473

至此,SobarQube的配置基本完成,我们再次进入目录点击StartSonar.bat文件,然后在浏览器输入http://localhost:9000,配置数据库后启动会等待一段时间慢慢等就行

五、准备阶段

1.配置MSBuild环境变量,如果安装了Visual Studio就不需要单独安装,列vs2022路径为:C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin在Path下添加路径

image-20231031134352587

配置好环境变量后,需要重启下电脑,然后在控制台直接输入msbuild -ver 出现下面信息标识配置完成

image-20231031134836254

2.安装 dontnet scanner

dotnet tool install --global dotnet-sonarscanner --version 5.14.0

我这里安装的5.14版本,如果你的版本过低的话建议更新到5.14版本以上

dotnet tool update --global dotnet-sonarscanner --version 5.14.0

安装完成后使用 dotnet sonarscanner /? 命令查看版本,出现以下信息则表示安装完成

image-20231031135922474

六、分析.NET 5.0代码

1.进入页面并点击登录(账户密码就是上图所配置的),进入页面后点击创建项目

image-20231031113656974

这里可以输入自己需要分析的项目名称,方便区分和后续操作,然后点击设置

2.进入下一个页面后点击创建,这时会生成一个令牌,这个令牌需要保存下来,因为不会再次出现,下次再次进入页面后可直接使用令牌进入

3.点击继续后进入下一个页面,然后选择需要分析的项目,我的项目是.NET5框架所以选择中间这个

image-20231031114626943

这里提示下载SonarQube MSBuild扫描器,我下载了5.14版本下的.NET 5+,压缩包里并没有SonarScanner.MSBuild.exe文件,我试了一段时间没成功,所以继续百度找到了其他方法。.NET Framework 4.6+包里倒是有但是我的不是这个框架

4.新建一个记事本把下面三个代码复制出来,方便后续操作,然后把 SonarScanner.MSBuild.exe ,MsBuild.exe命令进行替换,替换后如下

dotnet sonarscanner begin /k:"你的项目名称" /d:sonar.host.url="http://localhost:9000" /d:sonar.login=你的令牌"

dotnet build

dotnet sonarscanner end /d:sonar.login="你的令牌"

5.进入需要诊断项目的目录,在目录栏上输入cmd 打开控制台,然后依次输入命令,运行如下

1698734648327-20231031143038

6.之后打开网页会发现有一个任务执行的提示

image-20231031141224933

点击 后台任务,就可以看到刚刚提交的任务了,慢慢等待任务完成,我这边大概需要等待十多分钟。

image-20231031141403642

七、代码分析查看

1.等待任务完成后点击总览即可看到分析的数据

image-20231031145016209

可以看到有32个Bugs我们点击进去看问题在哪

image-20231031145240049

谁便点击一个进去

image-20231031145323677

可以看到这里判断了两次一模一样的判断,然后直接去代码里改掉。

八、总结

非常不错的一个代码分析平台,安装也比较简单。

标签:5.0,SonarQube,dotnet,点击,sonarqube,sonar,NET,下载
From: https://www.cnblogs.com/caojiming/p/17800446.html

相关文章

  • Is Homophily a Necessity for Graph Neural Networks?
    目录概MaY.,LiuX.,ShahN.andTangJ.Ishomophilyanecessityforgraphneuralnetworks?ICLR,2022.概探究Homophily假设(即相互连接的结点相似)对于GCN发挥效果是否是必须的.结论是如果图中的同一类的结点具有相似的邻居的分布,则Homophily不是必须的......
  • 单细胞测序 基因调控网络 Gene regulatory networks
    单细胞测序基因调控网络Generegulatorynetworks基因不是独立发挥作用的。相反,基因的表达水平是由与其他基因和小分子之间的复杂调控决定的。揭示这些调控作用是基因调控网络(GRN)推断方法的目标(SCENIC|从单细胞数据推断基因调控网络和细胞类型)。基因调控网络推断是基于对基因共......
  • NET6介绍及环境准备
    NET6介绍及环境准备https://www.cnblogs.com/michael999/p/16878990.html部署IIS6或7出现的问题总结https://www.cnblogs.com/xuezhu/p/17407826.html......
  • ASP.NET+Easyui 两个下拉框联动以及三个下拉框联动
    这是获取用户名<inputclass="easyui-combobox"id="txtIdentifyingperson"name="txtIdentifyingperson"type="text"style="border:1pxsolid#8DB2E3;width:260px;height:30px"data-opt......
  • 【CVPR2023】Learning A Sparse Transformer Network for Effective Image Deraining
    论文:https://readpaper.com/paper/4736105248993591297代码:https://github.com/cschenxiang/DRSformerTransformer模型通常使用标准的QKV三件套进行计算,但是部分来自K的token与来自Q的token并不相关,如果仍然对这些token进行特征聚合计算会影响图像修复的性能。......
  • SFNet_FFTBlock验证模块的有效性
    五、序号5,使用identityConv进行残差连接,最后对增强后的幅值、增强后的相位、空域进行ConcatclassYYBlock(nn.Module):def__init__(self,in_channel=3,out_channel=20,relu_slope=0.2):super(YYBlock,self).__init__()self.spatialConv=nn.Sequ......
  • .NET 压缩与解压
    1usingSystem;2usingSystem.Collections.Generic;3usingSystem.Linq;4usingSystem.Text;5usingSystem.IO;6usingICSharpCode.SharpZipLib.Zip;7usingICSharpCode.SharpZipLib.Checksums;8usingSystem.Security.Cryptography;910......
  • 基于Googlenet深度学习网络的矿物质种类识别matlab仿真
    1.算法运行效果图预览   2.算法运行软件版本matlab2022a 3.算法理论概述       VGG在2014年由牛津大学著名研究组vGG(VisualGeometryGroup)提出,斩获该年lmageNet竞赛中LocalizationTask(定位任务)第一名和ClassificationTask(分类任务)第二名。Clas......
  • .NET 反序列化 GetterSettingsPropertyValue 攻击链
    0x01 链路1 SettingsPropertyValueSettingsPropertyValue位于命名空间 System.Configuration,用于应用程序存储和检索设置的值,此类具有Name、IsDirty、Deserialized、PropertyValue、SerializedValue等多个公共成员,其中SerializedValue属性用于获取或者设置序列化的值,便于持久......
  • .NET集成CAS认证艰难历程
    1.前言本文不再赘述单点登录SSO原理,主要针对CAS认证服务方式集成.NET应用,从实施落地过程回顾期间遇到的坑和解决方案做些心得总结,希望对你有帮忙,如有问题,请留言一起探讨学习2.核心客户端组件DotNetCasClient.dll,本项目依赖.NET4.5版本,官方提供用于集成CAS客户端源码地......