sonarqube-26.1.0.118079+postgresql15+SonarScanner
- 使用背景
- 安装相关环境
- 运行sonarQube
- [安装SonarScanner CLI](#安装SonarScanner CLI)
- 扫描项目
使用背景
最近工作有代码扫描的需求,问了下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,当前最新版
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\15\data\pg_hba.conf,修改配置后需重启
bash
# 允许来自 192.168.10.0/24 网段的连接(推荐)
host all all 192.168.10.0/24 md5
# 或者允许任意 IP(仅测试环境)
host all all 0.0.0.0/0 md5

安装DBeaver
下载dbeaver-ce-25.3.3-x86_64-setup.exe文件一路next即可
安装完成后使用DBeaver连接postgres数据库

创建sonar数据库

安装nodejs
下载node-v24.13.0-x64.msi文件,一路next,配置环境变量
安装SonarQube
下载sonarqube-26.1.0.118079.zip,解压,进入配置目录安装目录\sonarqube-26.1.0.118079\conf\sonar.properties,修改配置
bash
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运行以下命令开放端口
bash
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是管理台显示的项目令牌
python
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进入项目主目录,运行命令,等待结束,显示分析成功
bash
sonar-scanner

进入管理台查看报告
