Обновление#
Шаг 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#
Перейдите в корневую папку распакованного дистрибутива:
cd TDM/package/Остановите и удалите контейнеры, если они были запущены в рамках предыдущей инсталляции:
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Запустите сборку образов сервисов:
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 .Запустите контейнеры сервисов:
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#
Перейдите в корневую папку распакованного дистрибутива:
cd TDM/package/confЗапустите новую сборку докер образов:
docker-compose --env-file .env build --no-cacheЕсли необходимо пересобрать не все сервисы, необходимо в команде написать наименования сервисов. Например:
docker-compose --env-file .env build --no-cache thin-client orders-serviceВыполните команду запуска сервисов:
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).