在之前的公司, 看到有用过代码扫描工具, 扫描C#代码, 最近公司也有考虑做这个,于是我便独自研究了一下,这里给大家做个分享

网上找了很多资料, 主要有以下问题:

1. Sonarqube用的是 旧版本,(现在更新到8.x版本,部分安装和使用, 和以前的旧版本有很大的区别)

2.介绍扫描java,php,pathon的,没有介绍扫描C#的

3.集成的是本地的服务,没有集成SqlServer数据库,以前的文档大多是集成MySql数据库

4."参考资料"大都发布于2019年之前的博客 那时候的版本,与现在的版 在实际使用过程中有很大的差别

1.下载和安装 sonarqube 和 sonar-scanner

https://www.cnblogs.com/weschen/p/5999874.html

https://www.cnblogs.com/danzhang/p/5205610.html

1.1)SonarQube  8+下载    http://www.sonarqube.org/downloads/

1.2)sonar-scanner 历史版本下载

https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/

1.3)java 1.8jdk

载和配置JDK http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html

http://jdk.java.net/java-se-ri/11

2.配置sqlserver数据库

2.1)Jar包设置

参考 下面这个, SonarQube-7.9.1+SQL Server2017在Windows环境下的安装与配置

解包后, 我是放在本地文件夹 : C:\Program Files\Java\jre1.8.0_291\lib

然后连接数据库 , 参考 :   用JDBC连接SQL Server2017数据库

2.2)数据库设置

本地创建数据库 sonar , 用户名 sonar 密码 sonar ,并且给管理员权限

早sqlserver sonar 库中执行以下sql

ALTER DATABASE Sonar SET READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK IMMEDIATE;

ALTER DATABASE Sonar COLLATE Chinese_PRC_CS_AS

2.3)本地数据库连接设置

设置  \conf\sonar.properties 数据库连接

sonar.jdbc.url=jdbc:sqlserver://localhost;databaseName=sonar

sonar.jdbc.username= sonar

sonar.jdbc.password= sonar

3.本地环境变量设置

注意, 有的地方有 分号 ";" 不同配置之间用  分号隔开.

系统环境变量

说明

SONAR_RUNNER_HOME

C:\sonar-scanner\sonar-scanner-4.6.0.2311

扫描器   客户端路径

;%SONAR_RUNNER_HOME%\bin

;C:\sonarqube\sonarqube-8.8.0.42792\bin;C:\sonarqube\sonarqube-8.8.0.42792\bin\windows-x86-64

扫描
  服务端路径

CLASSPATH

; D:\sqljdbc4\sqljdbc42.jar

连Sql数据库使用

Path

; C:\Program
Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\amd64

选择本地C#编译器

全局重要的配置在  C:\sonarqube\sonarqube-8.8.0.42792\conf\
sonar.properties

4.扫描设置

4.1   
扫描 C# 代码 (sln解决方案)

4.2   
扫描ts 代码

https://blog.csdn.net/liumiaocn/article/details/102670480/   2种方式

C#

ProjectManagerSolution

f973e7702707f26b9f14aa53a012dbe2da9d5961

LocalQD

7486a5f999c18d47063b7482721a3eb036e1a2cf

++===============================扫描C#========================++

SonarScanner.MSBuild.exe
begin /k:" XXXManager " /d:sonar.host.url="http://localhost:9000"
/d:sonar.login="f973e7702707f26b9f14aa53a012dbe2da9d5961"

MsBuild.exe
G:\历史资源\旧的资源1\XXXManager.sln /t:Rebuild

SonarScanner.MSBuild.exe
end /d:sonar.login="f973e7702707f26b9f14aa53a012dbe2da9d5961"

++===============================扫描C#=======================++

SonarScanner.MSBuild.exe
begin /k:"LocalProject" /d:sonar.login="e1b61fa834baff1d0249deddaba5887afcc00473"

msbuild.exe
E:\本地代码管理\LocalVSCode\2014Year\2014CSharp\Perfonsal\RegexFormTemplate\RegexFormTemplate.sln
/t:Rebuild

SonarScanner.MSBuild.exe end
/d:sonar.login="e1b61fa834baff1d0249deddaba5887afcc00473"

++==================================扫描ts=====================++

#参见本地文件
 I:\ImportCode_SJ\Client\ocal_xiang

sonar-scanner
-D.login=7486a5f999c18d47063b7482721a3eb036e1a2cf

需要在
该文件夹 安住shift 右键 ,在 powershell窗口 命令中打开 ,并且设置  “sonar-project.properties” 文件

文件内容格式为

C#代码扫描工具Sonarqube + Win10+SqlServer2017的更多相关文章

  1. 代码扫描利器sonarqube

    sonar的作用 1.代码质量和安全扫描和分析平台. 2.多维度分析代码:代码量.安全隐患.编写规范隐患.重复度.复杂度.代码增量.测试覆盖率等. 3.支持25+编程语言的代码扫描口分析,包含java ...

  2. 想做一个整合开源安全代码扫描工具的代码安全分析平台 - Android方向调研

    想做一个整合开源安全代码扫描工具的代码安全分析平台 - Android方向调研 http://blog.csdn.net/testing_is_believing/article/details/22 ...

  3. 静态代码扫描工具PMD定制xml的规则(一)操作篇

    0.前言 PMD作为开源的静态代码扫描工具有很强的扩展能力,可使用java或xpath定制rule.第一篇从操作上讲解如何定制一个用于扫描xml是否规范的规则.首先我们知道xml格式的文件在java工 ...

  4. Coverity代码扫描工具

    1.说明:Coverity代码扫描工具可以扫描java,C/C++等语言,可以和jenkins联动,不过就是要收钱,jenkins上的插件可以用,免费的,适用于小的java项目 2.这是Coverit ...

  5. Lint——Android SDK提供的静态代码扫描工具

    Lint和FindBugs一样,都是静态代码扫描工具,区别在于它是Android SDK提供的,会检查Android项目源文件的正确性.安全性.性能.可用性等潜在的bug并优化改进. 下图简单地描述了 ...

  6. eclipse 无用代码扫描工具UCDetector

    本文主要介绍UCDetector(无用代码扫描工具)使用方法及局限 对于沉积或多方接手开发的项目经常会遇到一坨一坨无用的代码,但一个一个类查找又相当费时,这里介绍一个eclipse插件扫描没有引用的类 ...

  7. 代码质量管理工具——SonarQube

    写在前面 SonarQube(简称Sonar)是管理代码质量的开放平台,它可以快速地对代码质量进行分析,并给出合理的解决方案,提高管理效率,保证代码质量. SonarQube的流行,在于以下几点: 开 ...

  8. 代码检查工具sonarqube介绍及使用

    亲测有效 环境:springboot+gradle+jdk1.8+sonarqube7.4 一.说明: SonarQube为静态代码检查工具,采用B/S架构,帮助检查代码缺陷,改善代码质量,提高开发速 ...

  9. Android 代码检查工具SonarQube

    http://blog.csdn.net/rain_butterfly/article/details/42170601 代码检查工具能帮我们检查一些隐藏的bug,代码检查工具中sonar是比较好的一 ...

  10. Findbug插件静态java代码扫描工具使用

    本文转自http://blog.csdn.net/gaofuqi/article/details/22679609 感谢作者 FindBugs 是由马里兰大学提供的一款开源 Java静态代码分析工具. ...

随机推荐

  1. FastJson序列化对象复杂时出错问题解决

    FastJson序列化对象复杂时出错问题解决 针对复杂的对象,如Map<String, List<Map<String, XxxObject<A, B, C>>&g ...

  2. python-D1-typora软件和计算机入门1

    一 typora软件 typora是一款目前非常火爆文本编辑器 1.1 安装 尽量安装在非系统盘符及设置为短路径,方便后面查找 1.2 文件路径 在计算机上就是一个资源的定位坐标,表现为具体在哪里,例 ...

  3. VScode将代码提交到远程服务器、同时解决每次提交都要输入密码的问题(这里以gitee为例子)

    文章目录 1.第一种情况.项目直接从gitee上拉取下来 2.第二种情况.将新建的项目提交到远程服务器 3.解决将代码提交到远程每次都要输入用户名和密码 4.个人遇到的奇葩问题 1.第一种情况.项目直 ...

  4. 海思3516系列芯片SPI速率慢问题深入分析与优化(基于PL022 SPI 控制器)

    海思3516系列芯片SPI速率慢问题深入分析与优化(基于PL022 SPI 控制器) 我在某个海思主控的项目中需要使用SPI接口来驱动一块液晶屏,液晶屏主控为 st7789,分辨率 240x240,图 ...

  5. 21.drf视图系统组成及继承关系

    APIView REST framework提供了一个 APIView 类,它是Django的 View 类的子类. APIView 类和Django原生的类视图的 View 类有以下不同: 传入的请 ...

  6. 基于SqlSugar的开发框架循序渐进介绍(17)-- 基于CSRedis实现缓存的处理

    在一个应用系统的开发框架中,往往很多地方需要用到缓存的处理,有些地方是为了便于记录用户的数据,有些地方是为了提高系统的响应速度,如有时候我们在发送一个短信验证码的时候,可以在缓存中设置几分钟的过期时间 ...

  7. numpy(ndarray)和tensor(GPU上的numpy)速查

    类型(Types) Numpy PyTorch np.ndarray torch.Tensor np.float32 torch.float32; torch.float np.float64 tor ...

  8. 空链接的作用以及<a href="#"></a>和<a href="javascript:;"></a>的区别

    空链接的作用以及<a href="#"></a>和<a href="javascript:;"></a>的区别在 ...

  9. Python基础部分:10、数据类型的内置方法和字符编码

    目录 一.数据类型内置方法 1.字典dict内置方法 1.1.类型转换 2.字典必须要掌握的方法 2.1.取值方式 2.2.修改内部数据值 2.3.删除数据 2.4.统计字典中键值对个数 2.5.字典 ...

  10. EasyPoi大数据导入导出百万级实例

    EasyPoi介绍: 利用注解的方式简化了Excel.Word.PDF等格式的导入导出,而且是百万级数据的导入导出.EasyPoi官方网址:EasyPoi教程_V1.0 (mydoc.io).下面我写 ...