3.2. Обновление до версии 1.12
Далее описаны шаги по обновлению платформы с версии 1.11.3 до 1.12.0.
Все данные, инстансы, лицензия и прочие данные будут сохранены.
Важно
Необходимо сделать резервное копирование директорий.
3.2.1. Исходное состояние перед обновлением:
Установлена версия платформы 1.11.3;
Установлена лицензия;
Агенты работают корректно;
Чтобы убедиться, что у вас действительноу установлена версия платформы 1.11.3, введите в адресной строке браузера следующий URL (вы должны быть авторизованы):
<YOUR_DOMAIN>/version.
Вы должны увидеть следующий вывод:
3.2.2. Шаги для обновления:
Переходим в рабочую директорию и останавливаем контейнеры:
cd /opt/tantor/eco
docker-compose down
Создаем резервную копию следующих директорий и файла:
postgresql/
nats-data/
nginx/
docker-compose.yml
следующими командами:
cp -R postgresql/ postgresql.bak/
cp -R nats-data/ nats-data.bak/
cp -R nginx/ nginx.bak/
mv docker-compose.yml docker-compose.yml.old
3. Скачиваем шаблон нового docker-compose.yml для версии 1.12.0 с репозитория:
curl -k https://public.tantorlabs.ru/docker-compose.yml.1.12.0 -o ./docker-compose.yml
Для проверки необходимо выполнить команду:
tree -L 2
Отобразится:
Убедитесь, что содержимое директории /opt/tantor/eco выглядит в соответствии с изображением выше.
Выполните следующую команду для замены параметров в файле dockercompose.yml. Перед её выполнением убедитесь, что старый файл dockercompose.yml.old находится в той же директории:
DCF='/opt/tantor/eco/docker-compose.yml'; DCFOLD="${DCF}.old" && \
YD=`grep -m1 'DOMAIN=' $DCFOLD | cut -d'=' -f2`;
sed -i "s=<YOUR_DOMAIN>=${YD}=g" $DCF && \
YSC=`grep -m1 'CERT=' $DCFOLD | cut -d'=' -f2`;
sed -i "s=<YOUR_SSL_CERT>=${YSC}=g" $DCF && \
YSCK=`grep -m1 'CERT_KEY=' $DCFOLD | cut -d'=' -f2`;
sed -i "s=<YOUR_SSL_CERT_KEY>=${YSCK}=g" $DCF && \
YST=`grep -m1 'SECRET=' $DCFOLD | cut -d'=' -f2`;
sed -i "s=<YOUR_SECRET_TOKEN>=${YST}=g" $DCF && \
YDBP=`grep -m1 'OPSPG_PASSWORD=' $DCFOLD | cut -d'=' -f2`;
sed -i "s=<YOUR_DB_PASSWORD>=${YDBP}=g" $DCF && \
YEH=`grep -m1 'EMAIL_HOST=' $DCFOLD | cut -d'=' -f2`;
sed -i "s=<YOUR_EMAIL_HOST>=${YEH}=" $DCF && \
YEP=`grep -m1 'EMAIL_PORT=' $DCFOLD | cut -d'=' -f2`;
sed -i "s=<YOUR_EMAIL_PORT>=${YEP}=" $DCF && \
YEU=`grep -m1 'EMAIL_USERNAME=' $DCFOLD | cut -d'=' -f2`;
sed -i "s=<YOUR_EMAIL_USERNAME>=${YEU}=" $DCF && \
YEPW=`grep -m1 'EMAIL_PASSWORD=' $DCFOLD | cut -d'=' -f2`;
sed -i "s=<YOUR_EMAIL_PASSWORD>=${YEPW}=" $DCF && \
ON=`grep -m1 'OWNER_NAME=' $DCFOLD | cut -d'=' -f2`;
sed -i "s=<OWNER_NAME>=${ON}=" $DCF && \
OE=`grep -m1 'OWNER_EMAIL=' $DCFOLD | cut -d'=' -f2`;
sed -i "s=<OWNER_EMAIL>=${OE}=" $DCF && \
for SVAR in DCF DCFOLD YD YSC YST YSCK YDBP YEH YEP YEU YEPW ON OE;
do unset $SVAR; done
Подтягиваем новые образы, описанные в новом docker-compose.yml:
docker-compose pull
Запускаем платформу из директории /opt/tantor/eco следующей командой:
docker-compose up -d
Заходим в UI платформы, убеждаемся, что:
можем войти с тем же логином и паролем;
в адресной строке команда:
<YOUR_DOMAIN>/version.
выдает:
все инстансы сохранены;
лицензия осталась прежней.
О преимуществе новой версии можно узнать здесь.
Если обновление не произошло, то следует сообщить об инциденте на support@tantorlabs.ru или контактному лицу компании, с которым ранее велось общение.
3.2.3. Возврат к предыдущей версии:
Перейдите в /opt/tantor/eco:
cd /opt/tantor/eco
Остановите контейнеры:
docker-compose down
Удалите новые версии файлов и папок:
rm docker-compose.yml
rm nats-data
rm nginx
rm postgresql
Переименуйте старые версии:
mv docker-compose.yml old docker-compose.yml
mv nats-data.bak/ nats-data/
mv nginx.bak/ nginx/
mv postgresql.bak/ postgresql/
Запустите контейнеры:
docker-compose up -d
Зайдите в UI платформы и убедитесь, что:
можно войти с тем же логином и паролем;
в адресной строке команда:
<YOUR_DOMAIN>/version.
выдает предыдущую версию (см. пункт Исходное состояние перед обновлением: );
все инстансы сохранены;
лицензия осталась прежней.