Обновляем SonarQube
процесс обновления выглядит так:6.1 -> 6.7.7 LTS -> 7.9.x LTS -> 8.3
Мигрировать базу предлагаю сразу на версии 6.1 .
База mySql находится на другом хосте, поднимаем postgres рядом с SonarQube.
Через pgloader мигрируем базу в postgres.
Проще всего добавить pgloader в compose файл и провести миграцию, а после этого удалить
пишем Docker-compose file:
sonarqube: restart: always image: "sonarqube:6.1"
volumes: - /opt/sonarqube/data:/opt/sonarqube/data - /opt/sonarqube/logs:/opt/sonarqube/logs - /opt/sonarqube/temp:/opt/sonarqube/temp environment: SONARQUBE_JDBC_USERNAME: "{{ SONARQUBE_JDBC_USERNAME }}"
SONARQUBE_JDBC_PASSWORD: "{{ SONARQUBE_JDBC_PASSWORD }}"
SONARQUBE_JDBC_URL: "{{ SONARQUBE_JDBC_URL }}"
SONAR_CE_JAVAOPTS: "-Xmx768m -Xms768m"
SONAR_WEB_JAVAOPTS: "-Xmx512m -Xms512m"
SONAR_SEARCH_JAVAOPTS: "-Xmx512m -Xms512m"
depends_on: - postgres ulimits: nproc: 4096 nofile: soft: 65535 hard: 65535 postgres: restart: always image: "postgres:10.5-alpine"
volumes: - /opt/postgres/data:/var/lib/postgresql/data environment: POSTGRES_USER: "{{ POSTGRES_USER }}"
POSTGRES_PASSWORD: "{{ POSTGRES_PASSWORD }}"
POSTGRES_DB: "{{ POSTGRES_DB }}"
pgloader:
image: "dimitri/pgloader:latest
"
command: "sleep 1d"
Делаем бекап mySQL:
docker run -it mysql:5.6 /usr/bin/mysqldump -h mysql_host -u sonar_user --password=sonar_password sonar_database > backup.sql
поднимаем Sonar:
docker-compose up -d
находим контейнер pgloader и запускаем из него миграцию:
docker exec -it $(docker ps | grep pgloader | awk {'print $1'}) bash
pgloader mysql://sonar_user:sonar_password@mysql_host:3306/sonar_database postgresql://sonar_user:sonar_password@postgres/sonar_database
Заходим на web и проверяем, что появились все наши проекты.
Редактируем docker-compose файл - удаляем секцию pgloader и меняем поочередно
sonar image:
- sonarqube:6.7
- sonarqube:7.9.1-community
- sonarqube:8.3.1-community
после каждого изменения образа:
- перезапускаем docker-compose
- заходим в интерфейс SonarQube и нажимаем кнопку для миграции данных
Комментариев нет:
Отправить комментарий