Обновление

Если в .env и .yml файлах используются пользовательские значения переменных, перенесите их в файлы .env и .yml новой версии Test IT. Все значения в файлах .env и .yml новых версий Test IT заменяются на значения по умолчанию при обновлении.

Перед обновлением рекомендуем создать резервную копию установленной системы (файлы docker-compose.yml и backup.sh находятся в одной директории). Чтобы перенести информацию из вольюмов со старой версии на новую, имена проектов в обеих версиях должны совпадать. В наших примерах проект называется prod.

Важно

Если вы обновляете систему с версии до 2.4 (например, 2.3.5), создайте резервную копию, обновите систему до версии 2.4, после чего обновите систему на версию 3.5

Подготовка к обновлению до версии 4.0.1

Начиная с версии 4.0.1 в конфигурации docker-compose была изменена сеть по умолчанию с testit_network на yoonion_network. Чтобы применить данные изменения необходимо выполнить следующие команды.

  1. Создать сеть yoonion_network:

    docker network create yoonion_network
    
  2. При применении обновления указать ключ --remove-orphans, чтобы контейнеры системы пересоздались в новой сети:

    docker-compose -f docker-compose.yml --project-name <PROJECT_NAME> up --detach --timeout 120 --remove-orphans
    

Важно

В файле .env начиная с версии 4.0.1 была добавлена переменная COMPOSE_NETWORK_NAME, определяющая название сети, в которой будут запущены контейнеры. Ее значение по умолчанию yoonion_network.

Подготовка к обновлению до версии 4.0

В целях повышения безопасности в версии 4.0 процессы в контейнерах запускаются от имени пользователя uid=611(testit). Чтобы избежать некорректной работы контейнеров webapi и rabbitmqconsumer, при обновлении необходимо запустить скрипт, мигрирующий права в вольюмах контейнеров.

Осторожно

При обновлении с более ранних версий до версии 4.0.0 без выполнения скрипта сервисы webapi и rabbitmqcosumer будут рестартовать из-за ошибки в сервисе лицензий.

  1. Сделайте резервную копию системы.

  2. Остановите контейнеры системы:

    docker-compose -f docker-compose.yml --project-name <PROJECT_NAME> stop --timeout 120
    
  3. Выполните следующие команды для миграции прав в вольюмах. Скрипт миграции прав в вольюмах phoenix_migrate_volumes_rights.sh находится в директории scripts.

    chmod +x scripts/phoenix_migrate_volumes_rights.sh
    sudo scripts/phoenix_migrate_volumes_rights.sh <PROJECT_NAME>
    

    <PROJECT_NAME> в примерах команд необходимо заменить на название проекта Docker Compose, в котором запущена система. Чтобы определить название проекта, выполните команду docker ps. Префикс к названиям контейнеров является названием проекта.

    Важно

    Для выполнения скрипта могут потребоваться права пользователя root на хост-системе. В таком случае необходимо запускать скрипт с использованием sudo или от имени пользователя root.

  4. Продолжите обновление системы, описанное в инструкциях ниже.

При чистой установке версии 4.0 выполнение скрипта не требуется.

Online обновление

  1. Создайте новую директорию, скачайте и распакуйте в ней файл для online установки:

    https://storage.testit.software/downloads/v4.0/testit_v4.0.0.zipopen in new window

  2. Сравните содержимое файлов .env и docker-compose.yml и перенесите пользовательские значения переменных в соответствующие файлы новой версии.

  3. В командной строке перейдите в директорию с новой версией и выполните следующую команду:

    docker-compose -f docker-compose.yml --project-name prod up -d --remove-orphans
    

Автономное обновление

  1. Создайте новую директорию, скачайте и распакуйте в ней файл для автономной установки:

    https://storage.testit.software/downloads/v4.0/testit_v4.0.0_full.zipopen in new window

  2. Сравните содержимое файлов .env и docker-compose.yml и перенесите пользовательские значения переменных в соответствующие файлы новой версии.

  3. В командной строке перейдите в директорию с новой версией, распакуйте архив для автономной установки и выполните следующую команду:

    docker load -i images.tar.gz
    docker-compose -f docker-compose.yml --project-name prod up -d --remove-orphans