Обновление системы с помощью Docker

Предварительные условия

  • Сервер, на котором размещена обновляемая версия Юниверс MDM, имеет доступ к интернету.

  • Установлен Git.

  • Установлен Docker Compose (версия выше 1.29).

  • Проект Юниверс MDM был клонирован на сервер.

Обновление системы

Предупреждение

В версии 6.9 был осуществлен переход с Elasticsearch на OpenSearch. Если обновлять ветку, имея поднятый docker, то старый контейнер elasticsearch будет препятствовать дальнейшим запускам. Поэтому рекомендуется выполнить нижеописанные действия

  1. Перед обновлением остановите работу образа Docker Compose через команду docker-compose down

    • Поднять контейнеры после обновления возможно через команду: docker-compose up --force-recreate -d --remove-orphans. Последняя опция очищает Elasticsearch контейнер

  2. Войдите в репозиторий Gitlab (доступ к репозиторию с дистрибутивом вашего продукта должен быть получен заранее согласно договору поставки).

  3. Переключитесь на ветку release/6.9

  4. Извлеките проект. Команда git pull

  5. Выполните миграцию на Opensearch с потерей или сохранением данных (см. инструкцию ниже).

  6. Перейдите в каталог с кодом. Пример команды:

    cd universe-platform-deploy
    
  7. При необходимости в файле .env, расположенном в корне проекта, измените параметры для БД и параметры портов. Пример файла .env смотрите по ссылке.

  8. Для запуска системы используйте команду:

    docker-compose up -d
    

Переход на OpenSearch с потерей данных

  1. Поскольку данные не будут перенесены, выполните операцию переиндексации данных, а при наличии правил качества - операцию переприменения данных.

Важно:

  • Если в качестве хранилища для аудита выбран поисковой движок, журнал событий будет утерян — его невозможно восстановить из БД, даже если она также указана в качестве хранилища.

Переход на OpenSearch с переносом данных

  1. В docker-compose конфигурации контейнера Opensearch укажите существующий volume с данными Elasticsearch — mdm-elasticsearch-data:/usr/share/opensearch/data.

  2. В случае если необходимо избавиться от упоминания Elastic, то можно оставить volume по умолчанию (mdm-opensearch-data), выполнив одно из двух действий:

    • Клонировать volume. Пример:

      docker run --rm \
          -v mdm-elasticsearch-data:/original \
          -v mdm-opensearch-data:/migration \
          ubuntu:latest \
          bash -c "cp -R /original/* /migration/"
      
    • Переименовать volume:

      mv /var/lib/docker/volumes/mdm-elasticsearch-data /var/lib/docker/volumes/mdm-opensearch-data