环境搭建 | Windows 11系统从0开始搭建SonarQube环境分析C sharp项目代码

news2024/11/25 20:26:43

1 安装&使用流程

  1. JDK 17环境搭建
  2. Sonarqube 10.0安装
  3. PostgreSQL 12数据库安装
  4. 配置MSBuild
  5. 下载安装SonarScanner for MSBuild
  6. 使用SonarQube分析C#代码并上传到服务器

注意:SonarQube环境搭建时对各个软件的版本都有要求,如果你不确定使用何版本,那么可以参考本文的版本来进行安装,防止出现安装好以后版本不兼容的情况 !

2 JDK环境搭建

这里不做过多赘述,本篇使用JDK 17

3 SonarQube 10.0安装

进入SonarQube官网Download Previous SonarQube Versions | Sonar (sonarsource.com),安装10.0版本,将下载好的压缩包解压至本地,这里我解压的路径为D:\Sonar\sonarqube-10.0.0.68432

image.png

配置环境变量

快捷键Win + S, 输入env,打开系统环境变量设置.

image.png|400

在系统变量处新增变量名SONAR_HOME,赋值为SonarQube压缩包解压的路径D:\Sonar\sonarqube-10.0.0.68432

image.png|450

在系统变量path中新增一列,取值为%SONAR_HOME%\bin
image.png|475

4 PostgreSQL 12数据库安装

sonar自带的数据库是存储在内存中,一但重启之前的数据全部清空,并且官方只是建议测试用,长期使用建议配置第三方数据库,支持的第三方数据库有Oracle、 PostgreSQL 和 microsoftsqlserver,8.0之后作者说不再支持mysql

下载地址,我下载的12.6版本
Community DL Page (enterprisedb.com)
然后一直下一步即可安装完成,中间有个设置密码和端口(默认就好)要记住

image.png|475

打开pgadmin4:
image.png
主页如下:
image.png
点击连接,输入密码:
image.png
创建sonar用户
如下图,在General中设置用户名为sonar,Privileges中控制权限。用户名为sonar,密码为123456

image.png
image.png
image.png
点开Databases,右键 ,创建数据库。数据库名称为:sonar
image.png
image.png
image.png
连接数据库
image.png

在sonarQube的安装目录的conf目录下,打开sonar.properties
配置好数据库名称和密码

#加入到sonarqube安装目录的conf目录下sonar.properties文件中

#配置数据库名称和密码

sonar.jdbc.username=sonar

sonar.jdbc.password=123456

#设为开放

sonar.jdbc.url=jdbc:postgresql://localhost/sonar?currentSchema=public

image.png

5 配置MSBuild

如下图所示,在命令行中使用 msbuild -ver 查看MSBuild的版本号,如果无法运行此命令则需要在环境变量中添加MSBuild的Bin目录。

image.png

如下图所示,找到MSBuild的Bin目录,并添加到环境变量中

image.png

6 下载安装 SonarScanner for MSBuild

  1. 从 https://github.com/SonarSource/sonar-scanner-msbuild/releases 地址下载安装sonar-scanner-msbuild程序,解压后在环境变量中配置此程序的路径。

image.png
2. 打开sonar-scanner-msbuild程序目录,如下图所示,配置sonar.host.url,sonar.login,sonar.password信息。

image.png

  1. 在命令行中输入 SonarScanner.MSBuild -h 查看相应的信息,如下图所示

至此准备工作完成,开始生成代码检测信息并上传检测报告到服务器

7 使用SonarQube分析C#代码并上传到服务器

  1. 在终端中进入待分析的项目目录

image.png|475

  1. 如下图所示,运行:
    SonarScanner.MSBuild.exe begin /k:"Dopamine" /n:"Dopamine" /v:"1.0"
    命令,出现成功标记后会在程序目录生成 .sonarqube 文件夹。

image.png

**/key(简写k):**对应projectKey即项目的唯一代码,如两套源代码使用同一个projectKey那扫描的结果将混在一起,所以一个项目需要有一个单独的projectKey
**/name(简写n):**对应projectName即项目的名称,为项目的一个显示的名称,建立使用完整的项目名称
**/version(简写v):**对应projectVersion即项目的版本,项目在不同的时期版本也是不一样的,如果方便,可以在sonarQube的服务器中查看到不同的版本代码其中问题的变化

  1. 通过MSBuild编译项目

输入 MSBuild.exe /t:Rebuild /p:Configuration=Release 编译项目

image.png

命令含义
MSBuild -t:Rebuild默认为Debug模式
MSBuild -t:Rebuild -p:Configuration=Release指定编译模式为Release
MSBuild MyApp.sln -t:Rebuild -p:Configuration=Release指定.sln解决方案和编译模式Release
  1. 上传扫描结果到服务器

运行
SonarScanner.MSBuild.exe end
命令,命令运行完成后如下图所示

image.png

  1. 至此扫描操作完成,扫描结果已上传到服务器可以到服务器进行查看。

image.png

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

窥探未来:Web3如何颠覆传统互联网

随着科技的迅速发展,Web3正逐渐成为人们关注的焦点。与传统的Web2相比,Web3代表了一种全新的互联网模式,其潜力和影响力引发了人们对未来的期待和探索。本文将深入探讨Web3如何颠覆传统互联网的各个方面,并展望其可能带来的未来变…

缺省参数

缺省参数 缺省参数概念 缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时&#xff0c;如果没有指定实 参则采用该形参的缺省值&#xff0c;否则使用指定的实参。 void Func(int a 0) {cout<<a<<endl; } int main() {Func(); // 没有传…

websocket 局域网 webrtc 一对一 多对多 视频通话 的示例

基本介绍 WebRTC&#xff08;Web Real-Time Communications&#xff09;是一项实时通讯技术&#xff0c;它允许网络应用或者站点&#xff0c;在不借助中间媒介的情况下&#xff0c;建立浏览器之间点对点&#xff08;Peer-to-Peer&#xff09;的连接&#xff0c;实现视频流和&am…

DC-9靶场

一.环境搭建 1.下载地址 靶机下载地址&#xff1a;https://download.vulnhub.com/dc/DC-9.zip 2.虚拟机配置 设置虚拟机为nat&#xff0c;遇到错误点重试和是 开启虚拟机如下图所示 二.开始渗透 1. 信息收集 查找靶机的ip地址 arp-scan -l 发现靶机的ip地址为192.168.11…

计算机网络面试问题(一)

1.在浏览器中输⼊URL并按下回⻋之后会发⽣什么 2.TCP三次握⼿的过程,为什么三次握手 TCP&#xff08;传输控制协议&#xff09;的三次握⼿是建⽴⽹络连接的过程&#xff0c;确保通信双⽅能够正确地进⾏数据传输。 第⼀次握⼿&#xff08;SYN&#xff09;&#xff1a; 客户端&am…

从原理图到PCB全过程(嘉立创)1

1 将已经画好的原理图更新到PCB中&#xff08;点击应用修改&#xff09; 2 一开始PCB是杂乱的&#xff0c;需要回到原理图&#xff0c;框选各个模块&#xff0c;然后按住CtrlShiftX会自动在PCB显示这个部分&#xff0c;然后把各个部分分开 3 PCB画板需要有板框(嘉立创每个月都i…

2024年限时免费:申领一年免费二级域名

免费申领一年域名 onflashdrive.app&#xff0c;现已可转入 CloudFlare 托管&#xff01; #注册账号 1、打开身份生成网站&#xff0c;然后按照图片下面所填写即可 邮箱填写自己的&#xff0c;密码必须包含大写字母 2、选择 New orders 3、点击选择产品–>Domain 4、输入…

GT收发器第六篇_GT channel内部时钟关系

文章目录 一、TX端时钟二、RX端时钟 一、TX端时钟 TX端可分为4个区域&#xff0c;分别为FPGA TX接口、PCS靠FPGA侧、PCS靠PMA侧、PMA&#xff0c;如下图。GTX/GTH发射器包括TXBUFFER和TX相位校准电路&#xff0c;以解决时钟域之间的相位差。TX相位校准电路用于TXBUFFER被旁路时…

【THM】Passive Reconnaissance(被动侦察)-初级渗透测试

介绍 欢迎来到网络安全模块的第一个房间,该模块涵盖: 1.被动侦察 2.主动侦察 3.Nmap实时主机发现 4.Nmap基本端口扫描 5.Nmap高级端口扫描 6.Nmap后端口扫描 7.协议和服务器 8.协议和服务器2 9.网络安全挑战 在这个房间里,在我们定义被动侦察和主动侦察之后,我们…

windows linux 安装 nvm

windows 一、下载nvm-windows 前往github https://github.com/coreybutler/nvm-windows 进入latest 往下滑下载nvm-setup.exe 二、下载好后直接一直点击下一步就好。 检查一下 nvm -v &#xff0c;会输出版本号 附带常用命令 nvm install 10.15.3 安装v10.15.3版本 nvm u…

基于python爬虫与数据分析系统设计

**单片机设计介绍&#xff0c;基于python爬虫与数据分析系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于Python爬虫与数据分析系统的设计是一个结合了网络数据抓取、清洗、存储和数据分析的综合项目。这样的系统通常…

总结TCP协议各类知识点

前言 本篇博客博主将详细地介绍TCP有关知识点&#xff0c;坐好板凳发车啦~ 一.TCP特点 1.有连接 TCP传输的过程中类似于打电话的各个过程 2.可靠传输 通过TCP自身的多种机制来保证可靠传输 3.面向字节流 内容是以字节的方式来进行发送与接收 4.缓冲区 TCP有接收缓冲区…

Vue基础配置、组件通信、自定义指令

基础配置 Vue框架已经集成了webpack配置 小注意点 vbase 快速生成vue模板 组件名必须是多词格式(驼峰模式) 具体三种写法: ①小驼峰:abcDef.vue ②大驼峰&#xff1a;AbcDef.vue ③中横线&#xff1a;abc-def.vue 假如文件名不符合多次格式的补救办法&#xff1a; 导出重命名…

154 Linux C++ 通讯架构实战9 ,信号功能添加,信号使用sa_sigaction 回调,子进程添加,文件IO详谈,守护进程添加

初始化信号 使用neg_init_signals(); 在nginx.cxx中的位置如下 //(3)一些必须事先准备好的资源&#xff0c;先初始化ngx_log_init(); //日志初始化(创建/打开日志文件)&#xff0c;这个需要配置项&#xff0c;所以必须放配置文件载入的后边&#xff1b;//(4)一些初…

Appium无线自动化实用教程

文章目录 简介核心特点工作原理使用Appium进行自动化测试的一般步骤 环境设置安装和启动Appium Server使用Node.js和npm安装Appium Server&#xff1a;启动Appium Server:命令行启动使用Appium Desktop安装和启动Appium Server&#xff1a;使用代码启动appium server 编写测试代…

矩阵的组合

重构 将原始矩阵,重构形状 例如,下图中,将AB重构为一个新的矩阵,CD重构为一个新的矩阵,EF重构为一个新的矩阵,GH重构为一个新的矩阵。 MATLAB实现 clc; clearvars; close all;X1=1:64; X1=reshape(X1,8,8)

基于YOLOv8/YOLOv5的人脸表情识别系统(附完整资源+PySide6界面+训练代码)

本篇博客呈现了一种基于深度学习的人脸表情识别系统&#xff0c;并详细展示了其实现代码。系统采纳了领先的YOLOv8算法&#xff0c;并与YOLOv7、YOLOv6、YOLOv5等早期版本进行了比较&#xff0c;展示了其在图像、视频、实时视频流及批量文件中识别人脸表情的高准确度。文章深入…

PostgreSql 01 安装,创建用户,创建数据库,创建关系

01.安装postgresql postgreSql 是在linux上 去官网找按照的方式 选择好postgreSql 的版本&#xff0c;已经Linux的发行版本 拿到命令&#xff0c;直接扔到Linux中运行即可 # 下载PGSQL的rpm包 sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpm…

【核心复现】同时考虑考虑孤岛与重构的配电网故障恢复运行策略

目录 主要内容 内容详情 1.问题引出 2.可控负荷 3.网络拓扑约束 4.算法流程 结果一览 1.原文结果 2.程序运行结果 下载链接 主要内容 该模型复现文章《同时考虑考虑孤岛与重构的配电网故障恢复运行策略》&#xff0c;以IEEE33配电网为分析对象&#xff0c;…

Flutter应用在苹果商店上架前的准备工作与注意事项

引言 &#x1f680; Flutter作为一种跨平台的移动应用程序开发框架&#xff0c;为开发者提供了便利&#xff0c;使他们能够通过单一的代码库构建出高性能、高保真度的应用程序&#xff0c;同时支持Android和iOS两个平台。然而&#xff0c;完成Flutter应用程序的开发只是第一步…