Docker部署 SonarQube
docker-compose 部署 SonarQube Server
docker-compose.yml
version: "3"
services:
sonarqube:
image: sonarqube:lts-community
depends_on:
- db
environment:
SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
SONAR_JDBC_USERNAME: sonar
SONAR_JDBC_PASSWORD: sonar
SONAR_ES_BOOTSTRAP_CHECKS_DISABLE: true
volumes:
- sonarqube_data:/opt/sonarqube/data
- sonarqube_extensions:/opt/sonarqube/extensions
- sonarqube_logs:/opt/sonarqube/logs
ports:
- "9000:9000"
db:
image: postgres:12
environment:
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
volumes:
- postgresql:/var/lib/postgresql
- postgresql_data:/var/lib/postgresql/data
volumes:
sonarqube_data:
sonarqube_extensions:
sonarqube_logs:
postgresql:
postgresql_data:
启动:
docker-compose up -d

访问http://localhost:9000 ,用户名admin ,密码admin登录管理后台。
创建项目:

选择Locally用本地项目测试

点击Generate

点击Continue

选择项目类型

copy 命令 sonar-scanner.bat -D"sonar.projectKey=test" -D"sonar.sources=." -D"sonar.host.url=http://localhost:9000" -D"sonar.login=xxx"
根据提示下载 sonarscanner 到本地,windows下解压缩到任意目录,并将bin目录添加到PATH环境变量
切换到项目目录执行上一步中的命令:
sonar-scanner.bat -D"sonar.projectKey=test" -D"sonar.sources=." -D"sonar.host.url=http://localhost:9000" -D"sonar.login=xxx"

执行完毕,后台自动跳转,这样就完成了第一次项目代码的提交检查

也可以使用配置文件的方式来替换上述命令:
在项目根目录中创建配置文件sonar-project.properties ,内容如下:
# must be unique in a given SonarQube instance
sonar.projectKey=test
sonar.projectName=test
# Path is relative to the sonar-project.properties file. Defaults to .
sonar.sources=.
sonar.login=xxx
替换sonar.login为你的token ,然后执行,
sonar-scanner.bat -D"project.settings=./sonar-project.properties"
PHPStorm使用SonarLint插件进行代码检查
安装SonarLint插件

点击Add

选择本地部署的SonarQube服务

填写test项目的token ,即sonar.login的值



绑定项目


修改代码会自动提示代码缺陷

19 November 2023