使用背景

最近工作有代码扫描的需求,问了下AI目前最常用的代码扫描工具就是SonarQube,但网上的安装教程都有点老了,记录一下安装过程中遇到的问题。

安装相关环境

注意:sonarqube对各个环境要求的版本很严格,不支持的版本就运行不起来,一定要按照版本要求安装

1.java环境:JDK(18不行、25也不行),我最终安装成功的是JDK21
2.数据库:postgresql15.15,支持Version: 13 to 17
3.数据库连接工具:DBeaver25.3.3
4.node24.13,扫描js代码需要用
5.sonarqube26.1.0.118079,当前最新版
6.postgresql驱动42.8.7
7.扫描器SonarScanner8.0.1,需要扫描哪个电脑的项目就在哪个机器上下

sonarqube资源下载
sonarqube相关环境资源下载

安装JDK

下载OpenJDK21U-jdk_x64_windows_hotspot_21.0.9_10.msi文件,一路next,安装后配置path环境变量
注意:有多个jdk环境时,配置环境变量需要把当前的jdk路径移到最前面

安装postgreSQL

下载postgresql-15.15-2-windows-x64.exe文件,参考了其他安装文章,未安装pgAdmin4,一路next
postgresql安装
如果需要配置其他电脑可连接该数据库,需要修改配置文件安装目录\PostgreSQL\15\data\pg_hba.conf,修改配置后需重启

# 允许来自 192.168.10.0/24 网段的连接(推荐)
host    all             all             192.168.10.0/24         md5

# 或者允许任意 IP(仅测试环境)
host    all             all             0.0.0.0/0               md5

postgresql服务

安装DBeaver

下载dbeaver-ce-25.3.3-x86_64-setup.exe文件一路next即可
安装完成后使用DBeaver连接postgres数据库
postgers连接
创建sonar数据库
在这里插入图片描述

安装nodejs

下载node-v24.13.0-x64.msi文件,一路next,配置环境变量

安装SonarQube

下载sonarqube-26.1.0.118079.zip,解压,进入配置目录安装目录\sonarqube-26.1.0.118079\conf\sonar.properties,修改配置

sonar.jdbc.username=postgres
sonar.jdbc.password=yourpassword
sonar.jdbc.url=jdbc:postgresql://127.0.0.1:5432/sonar


sonar.web.javaOpts =-Xmx2048m -Xms2048m -XX:+HeapDumpOnOutOfMemoryError
sonar.ce.javaOpts =-Xmx9000m -Xms9000m -XX:+HeapDumpOnOutOfMemoryError
sonar.search.javaOpts =-Xmx1024m -Xms1024m -XX:+HeapDumpOnOutOfMemoryError

sonar.elasticsearch.heap.size=1g
 
sonar.web.host=0.0.0.0
sonar.web.port=9089
sonar.search.port=55690

安装postgresql驱动

下载驱动postgresql-42.7.8.jar后,把该文件放到安装目录\sonarqube-26.1.0.118079\lib\jdbc\postgresql下

运行sonarQube

进入运行目录,安装目录\sonarqube-26.1.0.118079\bin\windows-x86-64,运行StartSonar.bat

运行成功后访问http://127.0.0.1:9089/,初始密码为admin:admin,第一次登录后需要修改密码
在这里插入图片描述
如果需要其他机器可以访问可以cmd运行以下命令开放端口

netsh advfirewall firewall add rule name="Port 9089" dir=in action=allow protocol=TCP localport=9089

下载插件

1.下载中文插件 sonar-l10n-zh-plugin-25.10.jar
把下载的jar文件放到安装目录\sonarqube-26.1.0.118079\extensions\plugins,重启sonarqube

也可以直接在Marketplace 搜索chinese,安装
在这里插入图片描述

2.sonarqube内置很多扫描规则,如果觉得内置的不够详细,可以下载java第三方扫描规则findbugs
在这里插入图片描述

安装SonarScanner CLI

在需要扫描项目的机器上下载SonarScannerCLI下载地址
在这里插入图片描述
下载后解压,将安装目录\sonar-scanner-8.0.1.6346-windows-x64\bin添加到环境变量Path,cmd运行sonar-scanner.bat -h,输出帮助信息则安装成功
在这里插入图片描述

编辑安装目录\sonar-scanner-8.0.1.6346-windows-x64\conf\sonar-scanner.properties,配置sonarqube服务器
在这里插入图片描述

注意:本机下载是配置的127.0.0.1,其他机器需要配置成下载SonarQube机器的ip

扫描项目

新建项目

在sonarqube管理台新建项目,选择手工
在这里插入图片描述
输入项目名称,选择默认配置
在这里插入图片描述
在这里插入图片描述

分析方法选择本地
在这里插入图片描述
创建令牌
在这里插入图片描述
在这里插入图片描述
创建成功,页面上提示了不同语言执行分析的例子,可以参考,本文介绍CLI方式运行分析python项目

项目配置

进入项目主目录,新建sonar-project.properties文件,编辑配置,sonar.projectKey是你在管理台新建的项目名称
sonar.token是管理台显示的项目令牌

sonar.projectKey=test
sonar.projectName=test
sonar.projectVersion=1.0

sonar.sources=.
sonar.exclusions=**/__pycache__/**,**/*.pyc

sonar.python.version=3.10
sonar.sourceEncoding=UTF-8
sonar.scm.provider=git
sonar.token=yourtoken

运行项目代码分析

cmd进入项目主目录,运行命令,等待结束,显示分析成功

sonar-scanner

在这里插入图片描述
进入管理台查看报告
在这里插入图片描述

Logo

昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链

更多推荐