本篇讲述 Sonarqube的安装,以及两个使用例子
系统为 Ubuntu 虚拟机,如果做示例建议配置调高一些,不然运行缓慢甚至失败
采用docker安装执行任务
安装
首先docker pull 两个镜像:
sonarqube:community
postgres
遇到网络问题可以看网上教程换国内源再拉,拉取完后,写一个docker-compose
version: '3.1'
services:
db:
image: postgres
container_name: db
ports:
- 5432:5432
networks:
- sonarnet
environment:
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
sonarqube:
image: sonarqube:community
container_name: sonarqube
depends_on:
- db
ports:
- 9000:9000
networks:
- sonarnet
environment:
SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
SONAR_JDBC_USERNAME: sonar
SONAR_JDBC_PASSWORD: sonar
networks:
sonarnet:
driver: bridger
然后 docker-compose up -d 执行 (没有docker-compose就apt/yum下载)
![]()
sonarqube:community 可能运行不起来,会报错提示虚拟内存不足
那就编辑 /etc/sysctl.conf
再里面添加 vm.max_map_count=262144
sysctl -p 使其生效
重新启动,等待sonarqube加载完毕(可能好几分钟,观察sonar的docker日志判断),启动完成能在网站中访问http://IP:9000
第一次会要求登录,用户名与密码均为admin,然后换密码
登录进去后,先安装中文插件 ,再生成一个token,后面都有用

我配置过中文了,你可以按我的点击方式(图片中的位置),进入应用市场
往下拉,搜索chinese ,下载即可(会出现风险提示,必须点击“i understand the risk” 才能出现下载按钮)
下载完重启sonarqube,就变成中文了
token,点击右上角的个人头像,出现“我的账号”,进入,在“安全”一栏中找到
输入令牌名称,日期后,生成一个,仅出现一次,记得保存
代码质量检测
两种方式,
第一种,找到maven的目录,我的在/usr/share/maven
如果有用户级别配置,例如/sanopll/.m2/settings.xml 也要修改
进入maven/conf/settings.xml 中,添加
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.host.url>http://IP:9000</sonar.host.url>
<sonar.token>保存的token</sonar.token>
</properties>
</profile>
加在<profiles> </profiles> 标签中,不会加可以问ai
加完后,切到你的maven代码文件目录,
执行 mvn sonar:sonar
就会检测代码,完成后会在网站看到

第二种,需要下载 sonar-scanner
https://binaries.sonarsource.com/?prefix=Distribution/sonar-scanner-cli/
按照你的版本需求来下载
下载完后,得到一个压缩包,自行解压,并放在合适的位置(我的位置是Jenkins的配置目录中)
进入解压好的文件夹,编辑conf/sonar-scanner.properties ,加入两行配置
# Configure here general information about the environment, such as the server connection details for example
# No information about specific project should appear here
#----- SonarQube server URL (default to SonarCloud)
sonar.host.url=http://IP:9000
sonar.sourceEncoding=UTF-8
#sonar.scanner.proxyHost=myproxy.mycompany.com
#sonar.scanner.proxyPort=8002
保存
其 bin/sonar-scanner 就为执行文件,记住位置
进入maven代码文件目录,输入命令
sonar-scanner/bin/sonar-scanner \
-Dsonar.sources=./ \
-Dsonar.projectname=maven-sonar \
-Dsonar.login=token \
-Dsonar.projectKey=maven-sonar \
-Dsonar.java.binaries=./target/
#-Dsonar.sources=要检测的代码目录
#-Dsonar.projectname=写个项目名字
#-Dsonar.login=保存的token
#-Dsonar.projectKey=项目名字
#-Dsonar.java.binaries=编译完后的代码的位置
执行,成功,网站有

因为我是用root执行的命令,出现了一个安全问题
这就是其中两种sonarqube的使用方式
- THE END -
最后修改:2026年10月1日
非特殊说明,本博所有文章均为博主原创。
共有 0 条评论