3.2. Обновление версии платформы
Далее описаны шаги по обновлению платформы.
Все данные, инстансы, лицензия и прочие данные будут сохранены.
Важно
Необходимо сделать резервное копирование директорий.
3.2.1. Исходное состояние перед обновлением:
Имеется установленная версия платформы;
Установлена лицензия;
Агенты работают корректно;
Для определения установленной версии платформы:
для версий 1.12.0 и старше - введите в адресной строке браузера следующий URL (вы должны быть авторизованы):
<YOUR_DOMAIN>/version.
Пример вывода версии платформы:
для версий 1.13.0 и младше - в окне авторизации можно увидеть номер версии под кнопкой Login (цифра 1 на рисунке):
3.2.2. Порядок обновления:
Шаг 1. Переходим в рабочую директорию и останавливаем контейнеры:
cd /opt/tantor/eco
docker-compose down
Шаг 2. Создаем резервную копию следующих директорий и файла:
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 для новой версии из репозитория:
curl -k https://public.tantorlabs.ru/docker-compose.yml.1.13.0 -o ./docker-compose.yml
Для проверки необходимо выполнить команду:
tree -L 2
Важно
В случае появления ошибки:
tree: command not found
необходимо установить приложение:
sudo apt install tree
Отобразится:
Убедитесь, что содержимое директории /opt/tantor/eco выглядит в соответствии с изображением выше.
Шаг 4. Выполните следующую команду для замены параметров в файле docker-compose.yml. Перед её выполнением убедитесь, что старый файл docker-compose.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
Шаг 5. Авторизуемся в репозитории и подтягиваем новые образы, описанные в новом docker-compose.yml:
docker -v login nexus.tantorlabs.ru
docker-compose pull
Шаг 6. Запускаем платформу из директории /opt/tantor/eco следующей командой:
docker-compose up -d
Шаг 7. Заходим в UI платформы, убеждаемся, что:
изменилась версия - также в окне авторизации под кнопкой Login (цифра 1 на рисунке):
можем войти с тем же логином и паролем;
все инстансы сохранены;
лицензия осталась прежней.
О преимуществе новой версии можно узнать здесь.
Шаг 8. Если обновление не произошло, то следует сообщить об инциденте на 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 платформы и убедитесь, что:
можно войти с тем же логином и паролем;
в адресной строке команда:
для версий 1.12.0 и старше - введите в адресной строке браузера следующий URL (вы должны быть авторизованы):
<YOUR_DOMAIN>/version.
для версий 1.13.0 и младше - в окне авторизации можно увидеть номер версии под кнопкой Login;
выдает предыдущую версию (см. пункт Исходное состояние перед обновлением:);
все инстансы сохранены;
лицензия осталась прежней.