Обновление серверной части приложения#

Загрузка новой версии установщика#

Для обновления серверной части приложения необходимо обновить установщик. Для этого перейдите в директорию ранее загруженного установщика и выполните команду:

git pull

Внимание

Обновление установщика необходимо выполнять от имени того же пользователя, от которого выполнялась загрузка установщика.

После выполнения команды установщик будет готов к дальнейшему обновлению серверной части.

Обновление версии приложения#

Обновление происходит в два этапа:

  • корректировка текущих конфигурационных файлов для новой версии;

  • запуск команды автоматического обновления.

Все корректировки конфигурационных файлов должны выполняться в строгой последовательности от текущей версии развернутого приложения до версии, соответствующей текущей версии установщика.

Корректировки версий#

Внимание

Найдите отметку для вашей текущей версии серверной части в блоке ниже и выполните все корректировки, описанные ниже метки, включая те, что указаны для версий выше текущей.

1.6.* и ниже#

>> если текущая установленная версия 1.6.* или ниже, начните отсюда

Для версий выше 1.6.* Google Recaptcha является обязательным требованием. Убедитесь, что у вас указаны все необходимые данные в файле configs/captcha.yaml в соответствии с разделом Настройка Google Recaptcha. Если у вас нет необходимых ключей, то получите их в соответствии с рекомендациями раздела Подключение Google Recaptcha, а затем заполните конфигурационный файл configs/captcha.yaml.

В версиях выше 1.6.* реализована поддержка аутентификации по электронной почте. Для устранения несовместимости установщика со старой версией конфигурационного файла откройте файл configs/team.yaml любым текстовым редактором и добавьте в конце файла два поля:

root_user.mail: "<адрес электронной почты>"
root_user.password: "very-strong-password"

Внимание

Каждое поле должно располагаться на новой строке. Перед названием поля в файле не должно быть пробелов или других символов.

Выполните команду предварительного обновления в директории установщика:

sudo python3 script/update.py

Выполнение команды завершится сообщением об отсутствии настройки SMTP-сервера. Выполните настройки в соответствии с разделом Настройка почты.

Примечание

Настройка почты для Root‑пользователя является необходимым требованием, однако дальнейший процесс обновления не привяжет указанную почту к учетной записи в приложении.

1.9.* и ниже#

>> если текущая установленная версия 1.9.* или ниже, начните отсюда

Выполните команду предварительного обновления в директории установщика:

sudo python3 script/update.py

Выполните служебные команды:

sudo python3 script/init_premise.py
sudo python3 script/activate_server.py

2.0.1 и ниже#

>> если текущая установленная версия 2.0.1 или ниже, начните отсюда

Выполните обновление библиотек командой:

sudo pip3 install docker==5.0.3

Запуск обновления#

Обновление запускается командой из директории установщика:

sudo python3 script/update.py

Обновление приложения занимает некоторое время. В зависимости от мощности сервера время может варьироваться от 3 до 15 минут. Текущее состояние обновления можно узнать с помощью команды:

sudo docker service ls | grep -v "default-file"

У всех сервисов правое и левое число в колонке REPLICAS должны совпадать (ниже пример, количество строк и значения в полях могут быть другими):

ID             NAME              MODE         REPLICAS   IMAGE                                                     PORTS
jrnsa5illaao   pivot_nginx       replicated   1/1        dockerhub.com/nginx/nginx:apline-latest                   *:31000->443/tcp
7wismhojfze5   pivot_php_pivot   replicated   1/1        docker.getcompass.com/compass-on-premise/php_pivot:1.1.0
3meydkmdpx3j   pivot_go_event    replicated   1/1        docker.getcompass.com/compass-on-premise/go_event:1.1.0

Если по истечении ожидаемого времени сервис не готов к работе, то можно получить дополнительную информацию командой:

sudo docker service ps <ID_или_NAME_сервиса> --no-trunc

Напишите нам в Telegram, WhatsApp или на почту support@getcompass.ru, чтобы получить индивидуальную демонстрацию функционала и помощь по вопросам интеграции мессенджера в вашей компании.