华子的笔记 Help

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插件进行代码检查

  1. 安装SonarLint插件

SonarLint

点击Add

SonarLint

选择本地部署的SonarQube服务

SonarLint

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

SonarLint
SonarLint
SonarLint

绑定项目

SonarLint
SonarLint

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

SonarLint
19 November 2023