sonar安装与使用

news/2024/10/18 2:26:48/

目录

一,sonar是什么

二,安装sonar

(一)docker中安装sonar

         (二)liunx中安装sonar

三,sonar扫描代码

(一)扫描非maven项目代码

1,命令描述

2,案例


一,sonar是什么

Sonar是一个静态代码分析和代码质量管理工具。它可以检查代码中的错误、缺陷、漏洞和重复代码等问题,并提供可视化报告和图表来帮助开发人员了解代码质量和可维护性。Sonar支持多种编程语言,包括Java、C#、Objective-C、C/C++、JavaScript等。

二,安装sonar

(一)docker中安装sonar

可以按照以下步骤在Docker中安装Sonar:

  1. 首先,您需要从Docker Hub下载SonarQube镜像。在终端中运行以下命令:

    docker pull sonarqube
    

  2. 接下来,创建一个新的容器并将SonarQube运行在其中。在终端中运行以下命令:

    docker run -d --name sonarqube -p 9000:9000 sonarqube
    

    这将在后台启动一个新的SonarQube容器,并将其映射到主机的9000端口上。

  3. 容器启动后,您可以通过浏览器访问SonarQube Web界面。在浏览器中输入以下网址: http://localhost:9000/

  4. 前往SonarQube Web界面,您需要创建一个新的项目。单击"创建新项目"按钮,然后填写项目的名称和键。

  5. 在项目创建完成后,您需要为项目设置代码扫描任务。单击"设置"按钮,然后选择"扫描"选项卡。您可以选择在SonarQube Web界面上运行扫描任务,或者在本地机器上使用SonarScanner运行任务。

    如果您选择在本地机器上运行扫描任务,您需要安装SonarScanner。您可以从此网址下载SonarScanner: https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/

  6. 在本地机器上安装SonarScanner后,您可以在项目的根目录中运行以下命令:

    sonar-scanner
    

  7. 扫描任务运行完毕后,您可以返回SonarQube Web界面并查看报告。单击项目名称,然后选择"报告"选项卡。

    至此,您已经成功在Docker中安装并使用了SonarQube。

(二)liunx中安装sonar

您可以按照以下步骤在Linux中安装Sonar:

  1. 下载Sonar安装包:您可以从Sonar官方网站下载最新的Sonar安装包。请注意,根据您的操作系统和架构,您需要下载正确的安装包。

  2. 安装Java:Sonar需要Java来运行。在Linux中,您可以使用以下命令安装Java:

    sudo apt-get install openjdk-8-jdk
    

    如果您已经安装了Java,则可以跳过此步骤。

  3. 解压缩Sonar安装包:使用以下命令将Sonar安装包解压缩到您选择的目录中:

    tar zxvf sonarqube-x.x.x.zip -C /opt
    

    将“x.x.x”替换为您下载的Sonar版本号。

  4. 配置Sonar:编辑Sonar配置文件并按照您的需要进行修改。您可以使用以下命令打开配置文件:

    sudo nano /opt/sonarqube-x.x.x/conf/sonar.properties
    

    然后,根据您的系统设置修改以下参数:

    sonar.jdbc.username=<database-username>
    sonar.jdbc.password=<database-password>
    sonar.jdbc.url=jdbc:postgresql://localhost/sonar
    sonar.web.host=<your-server-ip>
    sonar.web.port=<your-server-port>
    sonar.search.javaOpts=-Xmx512m -Xms512m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError
    

    将上面的参数替换为您的数据库连接信息和您的服务器IP和端口。

  5. 启动Sonar:使用以下命令启动Sonar:

    /opt/sonarqube-x.x.x/bin/linux-x86-64/sonar.sh start
    

  6. 访问Sonar:现在,您可以使用浏览器访问Sonar Web界面。默认情况下,Sonar运行在9000端口,因此您可以在浏览器中输入以下网址访问Sonar:

    http://<your-server-ip>:9000
    

现在,您已经成功地在Linux中安装和配置了Sonar。

三,sonar扫描代码

(一)扫描非maven项目代码

1,命令描述

sonar-scanner.bat 启动命令-Dsonar.projectKey= 输入的名称就是在sonar中看到的项目名称-Dsonar.sources= 写.(点)代表是当前目录下的源代码-Dsonar.host.url=这个是sonar的服务地址-Dsonar.login=token (下面有token的获取办法)-Dsonar.java.binaries= class 所在文件夹-Dsonar.sourceEncoding= 编码

2.案例

sonar-scanner.bat 
-Dsonar.projectKey=preject1
-Dsonar.sources=./src
-Dsonar.host.url=http://ip:8000
-Dsonar.login=uuidhkjasndasdasdqw
-Dsonar.java.binaries=./build
-Dsonar.sourceEncoding=UTF-8


http://www.ppmy.cn/news/101885.html

相关文章

音视频技术开发周刊 | 295

每周一期&#xff0c;纵览音视频技术领域的干货。 新闻投稿&#xff1a;contributelivevideostack.com。 微软炸通Windows与ChatGPT全家桶&#xff01;人手一个Copilot&#xff0c;AI宇宙降临 三位OpenAI掌舵人亲自撰文&#xff1a;我们应该如何治理超级智能&#xff1f; OpenA…

STL-algorithm-3

Partitions: is_partitioned template <class InputIterator, class UnaryPredicate> bool is_partitioned (InputIterator first, InputIterator last, UnaryPredicate pred); 如果pred返回true的范围[first&#xff0c;last&#xff09;中的所有元素都在其返回fals…

【网络技术】防火墙配置单机旁挂模式

组网需求 某公司网络部署Agile Controller服务器组&#xff0c;同时以旁挂方式部署FW于网络出口&#xff0c;如图1所示&#xff0c;要求&#xff1a; •用户角色不同&#xff0c;能访问的网络资源也不同&#xff08;在Agile Controller服务器中配置&#xff09;。 •用户角色…

JSTL(一)-- JSTL的快速入门

目录 1. JSTL的概述: 2. JSTL的使用前提: 3. JSTLL核心标签库(最常用到的3个标签) 3.1 if语句

如何优雅的在SpringBoot中编写选择分支,而不是大量if else?

一、需求背景二、创建项目三、基础工作四、定义 Handler 类五、实现员工接口六、功能测试6.1 开发控制器6.2 功能测试 七、总结 一、需求背景 部门通常指的是在一个组织或企业中组成的若干人员&#xff0c;他们共同从事某一特定工作&#xff0c;完成共同的任务和目标。在组织或…

实时频谱-4.1实时频谱分析仪的应用

脉冲测量 泰克实时频谱分析仪(RSA)特别适合进行脉冲测量。所有 RSA 型号上都可以包括自动脉冲测量软件。可以选择对各个脉冲和脉冲趋势信息进行全面分析。与传统频谱分析仪不同&#xff0c;各种型号的 RSA 都指定了系统上升时间 / 下降时间(最高 10 ns)、最小脉冲周期(最短 50…

EL表达式(二)-- EL表达式的基本用法

目录 1. EL表达式的运算 1.1 算术运算符 1.2 逻辑运算符 1.3 比较运算符

淘宝直通车和引力魔方区别

自从平台推出了引力魔方之后&#xff0c;就有很多卖家分不清&#xff0c;自己的店铺到底是适合直通车呢&#xff1f;还是适合引力魔方去推广呢&#xff1f; 其实很简单&#xff0c;因为这两个工具的功能完全不一样。直通车带来的是搜索流量&#xff0c;通过搜索竞价的方式点击成…