目录

一,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
  1. 接下来,创建一个新的容器并将SonarQube运行在其中。在终端中运行以下命令:
docker run -d --name sonarqube -p 9000:9000 sonarqube

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

  1. 容器启动后,您可以通过浏览器访问SonarQube Web界面。在浏览器中输入以下网址: http://localhost:9000/
  2. 前往SonarQube Web界面,您需要创建一个新的项目。单击"创建新项目"按钮,然后填写项目的名称和键。
  3. 在项目创建完成后,您需要为项目设置代码扫描任务。单击"设置"按钮,然后选择"扫描"选项卡。您可以选择在SonarQube Web界面上运行扫描任务,或者在本地机器上使用SonarScanner运行任务。
    如果您选择在本地机器上运行扫描任务,您需要安装SonarScanner。您可以从此网址下载SonarScanner: https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/
  4. 在本地机器上安装SonarScanner后,您可以在项目的根目录中运行以下命令:
sonar-scanner
  1. 扫描任务运行完毕后,您可以返回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,则可以跳过此步骤。

  1. 解压缩Sonar安装包:使用以下命令将Sonar安装包解压缩到您选择的目录中:
tar zxvf sonarqube-x.x.x.zip -C /opt

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

  1. 配置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和端口。

  1. 启动Sonar:使用以下命令启动Sonar:
/opt/sonarqube-x.x.x/bin/linux-x86-64/sonar.sh start
  1. 访问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