介绍
这是使SonarQube成为Docker容器的故事中
背景
我帮助进行了一些开发,但是我在内部环境中使用的是
就个人而言,大约两年前,我将SonarQube做成了Docker容器,因此我将其作为最新版本提供,因此在当时是个提醒。
你做了什么
- 将SonarQube Ver 7.4更改为SonarQube Ver 8.4.2
- 将SonarQube的数据库从MySQL更改为PostgreSQL版本13.0(MySQL支持终止)
- 将docker-compose文件更改为Ver 3
将SonarQube Ver 7.4更改为SonarQube Ver 8.4.2
就像将Contaner Image更改为
1 2 3 4 | # SonarQube Server sonarqube-server: container_name: sonarqube-server image: sonarqube:8.4.2-community |
将SonarQube的数据库从MySQL更改为PostgreSQL Ver 13.0
根据
MySQL支持终止,最新的
将要使用的Contaner图像更改为
同时,将container_name等更改为易于理解的名称。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # SonarQube Server用Database postgres-sonarqube: container_name: postgres-sonarqube image: postgres:13.0-alpine volumes: - "./data/postgresql/init:/docker-entrypoint-initdb.d" - "./data/postgresql/db:/var/lib/postgresql" ports: - "5432:5432" networks: - sonarqube-server-network environment: - POSTGRES_USER=sonar - POSTGRES_PASSWORD=sonar - POSTGRES_DB=sonar |
还要更改
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | # SonarQube Server sonarqube-server: container_name: sonarqube-server image: sonarqube:8.4.2-community command: -Dsonar.web.context=/sonarqube links: - postgres-sonarqube:postgres volumes: - ./data/sonarqube/extensions/plugin:/opt/sonarqube/extensions/plugins ports: - "9000:9000" - "9092:9092" networks: - sonarqube-server-network environment: - SONARQUBE_JDBC_USERNAME=sonar - SONARQUBE_JDBC_PASSWORD=sonar - "SONARQUBE_JDBC_URL=jdbc:postgresql://postgres-sonarqube:5432/sonar" |
将docker-compose文件更改为Ver 3
由于Ver3现在是主流,因此将docker-compose文件的版本更改为
1 2 | version: '3' services: |
操作检查
响应此点后,使用以下命令检查操作并完成工作。
1 | docker-compose up --force-recreate sonarqube-server |
印象数
这很容易,因为主要工作是版本升级,而不考虑数据迁移。
如果我再次将其放入Docker容器,我会觉得这个领域既简单又好。
我想我可以在一段时间内尽力而为。
本文的对应内容发布在下面的github存储库中,因此如果您感兴趣,请参考它。
https://github.com/awakuwaku/sonar-qube-docker
参考
- https://hub.docker.com/_/sonarqube/