• 代码扫描tool sonar


    代码检查工具 Sonar 安装&使用

     

         本文主要说明Sonar的安装方式并附上依赖安装包,本文目标只实现本地搭建测试的Sonar环境,以及本地的测试项目的非定制化扫描

         本机测试环境:Win10-X64,.vs2017

         依赖包:

         1.SDK   Java的东东

         2.sonarqube 静态代码检查工具,B/S

         3.sonar-scanner-msbuild 真正的代码扫面工具

         Soanr的代码检测的实现机制,就是通过客户端的工具对代码进行扫描,然后发送到 sonarqube,然后进行结果报告查看

         开始安装:

      1.首先安装SDK,安装完成之后,配置相应的path环境变量,打开cmd输入java,如下图代表安装成功:

           

       2.安装Sonar

            下载Sonar ,下载地址 :https://www.sonarqube.org/downloads/    

            

            解压下载包之后,执行 binwindows-x86-64StartSonar.bat

            

           如上图,代表启动成功,浏览器输入:http://localhost:9000/ 即可访问,已经默认内置了管理员账号:admin / admin

            

         

         3.配置中文包

         如何打开配置中文包呢?

         

         

    安装之后需要重启才能生效

    如何强制停止sonar服务呢? 打开任务管理器,关闭 Java进程

         4.安装包 sonar-scanner-msbuilld

            canner包就是真正进行代码扫面的工具包

            https://github.com/SonarSource-VisualStudio/sonar-scanner-msbuild/releases/download/2.2/sonar-scanner-msbuild-2.2.0.24.zip

            下载后解压至任意目录即可,这里直接放到了c:sonar 

         开始使用     

         1.新建项目

          填写项目的关键信息即可,选择项目开发语言

         2.扫描项目三部曲

            这里的三步曲就是sonar新建项目中的最后步骤的扫描教程,分为三步        

            1.配置环境变量,也就是下载的Sonar-Canner-Msbuild 中 SonarScanner.MSBuild.exe的位置

            2.进行项目解决方案所在的目录,也就是 sln 文件所在目录,打开cmd命令  执行如下命令,下面的命令是根据创建项目时生成的需要复制出来

                a.SonarScanner.MSBuild.exe begin /k:"Mytest" /d:sonar.host.url="http://localhost:9000" /d:sonar.login="d8fb95b33c46b1a755e9f93ca0ee62e7bb36591b"

                b.MsBuild.exe /t:Rebuild

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

                执行效果如下:

                如果MsBuild.exe /t:Rebuild 报错,需要解决项目中的问题,这是编译报错,下图为编译成功,且报告已经上传到SonarQube ,可以到 http://localhost:9000 查看具体报告

      

         3.查看项目扫描报告

            查看报告

         这里提供一个批处理,配合上述的放入c:sonar,使用如下命令即可一部完成代码分析并上报, 新建sonar.bat文件,copy如下命令,将soanr.bat放入项目sln目录中,双击运行即可

    复制代码
    echo off
    
    c:sonarSonarScanner.MSBuild.exe begin /k:"项目名称需要替换" /d:sonar.host.url="http://localhost:9000" /d:sonar.login="项目Key,创建项目时生成,需要复制"
    
    ::编译代码 set "msbuildPath=" set "msbuildPath14=%ProgramFiles(x86)%MSBuild14.0BinMSBuild.exe" set "msbuildPath15=%ProgramFiles(x86)%Microsoft Visual Studio2017EnterpriseMSBuild15.0Binmsbuild.exe" if exist "%msbuildPath14%" set "msbuildPath=%msbuildPath14%" if exist "%msbuildPath15%" set "msbuildPath=%msbuildPath15%" if "%msbuildPath%" == "" goto nomsbuild "%msbuildPath%" /t:Rebuild c:sonarSonarScanner.MSBuild.exe end /d:sonar.login="d8fb95b33c46b1a755e9f93ca0ee62e7bb36591b" echo 扫描完成 pause :nomsbuild echo 没有找到MSBUILD pause :exit
    复制代码
  • 相关阅读:
    乘电梯(动规+单调队列队头优化)
    贪心基础题目整理
    动规基础方程整理
    [第一波模拟day3T3]{益智游戏}(game.cpp)
    [第一波模拟day3T2]{独立集}(bubble.cpp)
    [第一波模拟day1T2]{分班}(divide.cpp)
    考前模版整理
    [Noip2004][Day ?][T?]合并果子(?.cpp)
    [Noip2017][Day 1][T1]玩具谜题(toy.cpp)
    新开始?
  • 原文地址:https://www.cnblogs.com/SunshineKimi/p/15039459.html
Copyright © 2020-2023  润新知