⏬ SonarQube代码检测平台
2025年9月13日大约 1 分钟UbuntuUbuntu
概述
在开发的过程中,难免有时候代码写的不规范,或存在一些静态的bug问题,这个时候一个良好的代码检查工具就很有必要,而SonarQube
正好可以满足整个要求。
开始准备
docker-compose.yaml
version: "3"
services:
sonarqube:
image: sonarqube:8.3.1-community
container_name: sonarqube
restart: 'no'
networks:
- sonarnet
environment:
- sonar.jdbc.username=sonar
- sonar.jdbc.password=sonar
- sonar.jdbc.url=jdbc:postgresql://sonarqube-postgre:5432/sonarqube
- sonar.search.javaOpts=-Xms256m -Xmx256m
ports:
- "9010:9000"
- "9011:9092"
depends_on:
- sonarqube-postgre
links:
- sonarqube-postgre
volumes:
- sonarqube_data:/opt/sonarqube/data
- sonarqube_extensions:/opt/sonarqube/extensions
- sonarqube_bundled-plugins:/opt/sonarqube/lib/bundled-plugins
sonarqube-postgre:
image: postgres:12.3
container_name: sonarqube-postgre
restart: 'no'
networks:
- sonarnet
environment:
- POSTGRES_USER=sonar
- POSTGRES_PASSWORD=sonar
- POSTGRES_DB=sonarqube
volumes:
- sonarqube_postgre_db:/var/lib/postgresql
- sonarqube_postgre_data:/var/lib/postgresql/data
volumes:
sonarqube_bundled-plugins:
sonarqube_data:
sonarqube_extensions:
sonarqube_postgre_db:
sonarqube_postgre_data:
networks:
sonarnet:
driver: bridge
启动
docker-compose -f 文件路径 up
# docker-compose up -d
注意事项
- sonarqube 的镜像数据挂载,最好使用数据卷volume。
- 在多个 sonarqube 实例 中不可使用相同的数据卷。
- 每个 sonarqube 实例 最好有自己的单独的 数据库schema。
- es在linux环境下运行需要注意的必要环境,可以看 下方的参考链接,[sonarqube镜像]
- 当宿主机的内存比较小的时候,在镜像文件中需要增加 sonar.search.javaOpts=-Xms256m -Xmx256m参数,否则可能会出现 [SonarQube Process exited with exit value [es]: 137](https://stackoverflow.com/que... 问题。