Обновление#

Шаг 1. Подготовка дистрибутива#

Подготовьте дистрибутив новой версии, как описано в разделе Установка - Подготовка дистрибутива.

Шаг 2. Предварительная настройка конфигурационных файлов#

Перед началом установки необходимо осуществить замену основных стендозависимых параметров во всех конфигурационных файлах, подробнее сценарий замены описан в разделе Установка - Предварительная настройка конфигурационных файлов.

Шаг 3. Настройка окружения#

Установка#

Установка и запуск сервисов приложений производится на сервере с установленным:

  • docker, если производится обновление при помощи инструмента docker;

  • docker-compose, если производится обновление при помощи инструмента docker-compose.

Настройка базы данных для сервисов#

Настройка базы данных для сервисов производится на сервере с предустановленным СПО СУБД Platform V Pangolin SE.

Используйте утилиту createuser для создания недостающих пользователей:

createuser user-manager-service -P

Пароль, задаваемый пользователям, должен совпадать с аналогичным из {{ PVWTDM_DATABASE_<service-id>_PWD }} (раздел Предварительная настройка конфигурационных файлов).

Используйте утилиту createdb для создания недостающих баз данных:

createdb user-manager-service -O user-manager-service

Создание резервной копии базы данных#

На сервере с установленным СУБД Platform V Pangolin SE, под пользователем postgres, воспользуйтесь следующим синтаксисом команды:

pg_dump -Fc {{ PVWTDM_DATABASE }} > {{ BACKUP_DIR_PATH }}/{{ PVWTDM_DATABASE }}.bak
  • {{ PVWTDM_DATABASE }} - Наименование базы данных, для которой нужно сделать резервную копию;

  • {{ BACKUP_DIR_PATH }} - Путь до директории, куда будет сохранена резервная копия базы данных.

Список баз данных, для которых необходимо сделать резервную копию:

Наименование базы данных

Описание

executors-service

База данных для сервиса executors-service

external-healthcheck-service

База данных для сервиса external-healthcheck-service

models-service

База данных для сервиса models-service

notification-service

База данных для сервиса notification-service

nsi-service

База данных для сервиса nsi-service

orders-service

База данных для сервиса orders-service

public-api-service

База данных для сервиса public-api-service

remote-service

База данных для сервиса remote-service

scheduler

База данных для сервиса scheduler

si-service

База данных для сервиса si-service

statistic-service

База данных для сервиса statistic-service

templates-service

База данных для сервиса templates-service

user-manager-service

База данных для сервиса user-manager-service

Запуск сервисов приложения, если установка осуществляется при помощи инструмента docker#

  1. Перейдите в корневую папку распакованного дистрибутива:

    cd TDM/package/
    
  2. Остановите и удалите контейнеры, если они были запущены в рамках предыдущей инсталляции:

    docker rm -f synteta-nginx
    docker rm -f api-gateway
    docker rm -f executors-service
    docker rm -f external-healthcheck-service
    docker rm -f models-service
    docker rm -f notification-service
    docker rm -f nsi-service
    docker rm -f orders-service
    docker rm -f scheduler
    docker rm -f si-service
    docker rm -f statistic-service
    docker rm -f templates-service
    docker rm -f generators-service
    docker rm -f remote-service
    docker rm -f thin-client
    docker rm -f admin-client
    docker rm -f public-api-service
    docker rm -f ticket-service
    docker rm -f ml-service
    docker rm -f user-manager-service
    
  3. Запустите сборку образов сервисов:

    docker build -t synteta-nginx:1.15.0 -f docker/synteta-nginx/Dockerfile .
    docker build -t api-gateway:1.15.0 -f docker/api-gateway/Dockerfile .
    docker build -t executors-service:1.15.0 -f docker/executors-service/Dockerfile .
    docker build -t external-healthcheck-service:1.15.0 -f docker/external-healthcheck-service/Dockerfile .
    docker build -t models-service:1.15.0 -f docker/models-service/Dockerfile .
    docker build -t notification-service:1.15.0 -f docker/notification-service/Dockerfile .
    docker build -t nsi-service:1.15.0 -f docker/nsi-service/Dockerfile .
    docker build -t orders-service:1.15.0 -f docker/orders-service/Dockerfile .
    docker build -t scheduler:1.15.0 -f docker/scheduler/Dockerfile .
    docker build -t si-service:1.15.0 -f docker/si-service/Dockerfile .
    docker build -t statistic-service:1.15.0 -f docker/statistic-service/Dockerfile .
    docker build -t templates-service:1.15.0 -f docker/templates-service/Dockerfile .
    docker build -t generators-service:1.15.0 -f docker/generators-service/Dockerfile .
    docker build -t remote-service:1.15.0 -f docker/remote-service/Dockerfile .
    docker build -t public-api-service:1.15.0 -f docker/public-api-service/Dockerfile .
    docker build -t ticket-service:1.15.0 -f docker/ticket-service/Dockerfile .
    docker build -t ml-service:1.15.0 -f docker/ml-service/Dockerfile .
    docker build -t user-manager-service:1.15.0 -f docker/user-manager-service/Dockerfile .
    docker build -t thin-client:1.15.0 -f docker/thin-client/Dockerfile .
    docker build -t admin-client:1.15.0 -f docker/admin-client/Dockerfile .
    
  4. Запустите контейнеры сервисов:

    docker run --net pvwtdm_net -d --name thin-client thin-client:1.15.0
    docker run --net pvwtdm_net -d --name admin-client admin-client:1.15.0
    docker run --net pvwtdm_net -d --name api-gateway api-gateway:1.15.0
    docker run --net pvwtdm_net -d -p80:50002 --name synteta-nginx synteta-nginx:1.15.0
    docker run --net pvwtdm_net -d --name executors-service executors-service:1.15.0
    docker run --net pvwtdm_net -d --name external-healthcheck-service external-healthcheck-service:1.15.0
    docker run --net pvwtdm_net -d --name models-service models-service:1.15.0
    docker run --net pvwtdm_net -d --name notification-service notification-service:1.15.0
    docker run --net pvwtdm_net -d --name nsi-service nsi-service:1.15.0
    docker run --net pvwtdm_net -d --name orders-service orders-service:1.15.0
    docker run --net pvwtdm_net -d --name scheduler scheduler:1.15.0
    docker run --net pvwtdm_net -d --name si-service si-service:1.15.0
    docker run --net pvwtdm_net -d --name statistic-service statistic-service:1.15.0
    docker run --net pvwtdm_net -d --name templates-service templates-service:1.15.0
    docker run --net pvwtdm_net -d --name generators-service generators-service:1.15.0
    docker run --net pvwtdm_net -d --name remote-service remote-service:1.15.0
    docker run --net pvwtdm_net -d --name public-api-service public-api-service:1.15.0
    docker run --net pvwtdm_net -d --name ticket-service ticket-service:1.15.0
    docker run --net pvwtdm_net -d --name ml-service ml-service:1.15.0
    docker run --net pvwtdm_net -d --name user-manager-service user-manager-service:1.15.0
    

Запуск сервисов приложения, если установка осуществляется при помощи инструмента docker-compose#

  1. Перейдите в корневую папку распакованного дистрибутива:

    cd TDM/package/conf
    
  2. Запустите новую сборку докер образов:

    docker-compose --env-file .env build --no-cache 
    

    Если необходимо пересобрать не все сервисы, необходимо в команде написать наименования сервисов. Например:

    docker-compose --env-file .env build --no-cache thin-client orders-service
    
  3. Выполните команду запуска сервисов:

    docker-compose up -d --env-file .env
    

    Если необходимо запустить не все сервисы, необходимо в команде написать наименования сервисов. Например:

    docker-compose --env-file .env build --no-cache thin-client orders-service
    

Приложение для проверки#

Для проверки выполненных действий перейдите по следующему адресу: http(s)://{{ PVWTDM_HOST }}/, где: {{ PVWTDM_HOST }} — доменное имя (либо IP-адрес) стенда, где будет доступна инсталляция TDMS.

Описание настроек#

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