目录
1. 系统环境要求
确保你的系统满足以下要求:
- Docker:版本 18.06 或更高
- Docker Compose:版本 1.22 或更高
2. 软件安装
2.1 Docker 安装
请参照 Docker 安装文档:Install Docker
2.2 Docker Compose 安装
请参考 Docker Compose 安装文档:Install Docker Compose
3. 部署 SonarQube 和 PostgreSQL
3.1 拉取 Docker 镜像
docker pull sonarqube:8.9.0-community
docker pull postgres:9.5
3.2 创建 Docker 网络
docker network create sonarnet
3.3 启动服务
将以下内容保存为 docker-compose.yml
文件,并在文件所在目录执行以下命令:
docker-compose up -d
docker-compose.yml
文件内容:
version: '3.1'
services:
db:
image: postgres:9.5
container_name: db
ports:
- 5432:5432
networks:
- sonarnet
environment:
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
volumes:
- ./db:/var/lib/postgresql/data
sonarqube:
image: sonarqube:8.9.0-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
volumes:
- ./plugins:/opt/sonarqube/extensions/plugins
networks:
sonarnet:
driver: bridge
4. 访问 SonarQube
一旦服务启动完成,你可以通过浏览器访问 SonarQube 界面:
- URL: http://localhost:9000
- 默认用户名:admin
- 默认密码:admin
请注意,在生产环境中应该更改默认密码以提高安全性。
5. 维护和管理
5.1 数据库备份
如果需要备份数据库,可以使用 pg_dump
工具。例如:
docker exec -t db pg_dumpall -c -U sonar > dump.sql
5.2 升级 SonarQube 版本
在升级 SonarQube 版本之前,请务必备份数据库。然后,停止当前的 SonarQube 容器,拉取新版本的 SonarQube 镜像,并启动新版本的容器。
docker-compose down
docker pull sonarqube:<new_version>
docker-compose up -d
请替换 <new_version>
为新版本的 SonarQube。
总结
在部署了SonarQube的旅程中,我们不仅搭建了一个强大的代码质量管理平台,还深入了解了如何与数据库协同工作。SonarQube的实力不仅体现在对代码的全面审查,更在于提供了一套丰富的工具和指标,帮助团队发现潜在问题并改进代码质量。