11. Обновление приложений и компонентов услуг

11.1. Обновление услуги

Услуги (в т.ч. Витрина данных) представляет собой совокупность установленных и связанных между собой при помощи интерфейсов взаимодействия приложений.

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

11.2. Обновление бандлов приложений

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

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

  • Обычное обновление - процесс обновления добавляет новые настройки, интерфейсы и таски приложения (Ansible Playbook);

  • Принудительное обновление - все настройки, интерфейсы и таски приложения полностью заменяются на новые данные из репозитория;

Чтобы обновить бандл приложений из репозитория в карточке бандла необходимо нажать кнопку Обновить:

Обновление приложений бандла

Рисунок 11.1 Обновление приложений бандла

Для обновления всех приложений и всех бандлов сразу необходимо сделать полное обновление из репозитория, как это описано в разделе: Раздел 5.2.1 Добавление компонентов из хранилища

Для принудительного обновления в меню управления бандла необходимо выбрать опцию Обновить:

Принудительное обновление приложений

Рисунок 11.2 Принудительное обновление приложений

Примечание

В процессе обновления из репозитория происходит обновления бандлов и приложений в Datamart Platform Studio. Инсталляция витрины при этом не меняется. Процесс обновления инсталляций описан в разделе Раздел 11.4.

11.3. Выбор версии бандла для обновления

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

Выбор ветки (branch) или тэга (tag) для скачивания

Рисунок 11.3 Выбор ветки (branch) или тэга (tag) для скачивания

..note::

После обновления приложений из новой версии бандла, необходимо обновить инсталляции и кластеры, созданные из обновленного приложения и выполнить действие «Применить конфигурацию» bind. В некоторых случаях после обновления компонента из новой версии бандла может понадобится выполнить переустановку компонента.

11.4. Обновление компонентов услуги (инсталляций и кластеров)

Для обновления компонентов услуг требуется произвести следующую последовательность шагов:

  1. Выбрать действие «Обновить приложение» в меню управления инсталляции или кластера

Для обновления в списке компонентов откройте меню Управление для нужной вам инсталляции или кластера и выберите действие Обновить приложение (см. Рисунок 11.4). В списке доступных версий выводятся возможные варианты версий приложений и бандлов, из которых может быть произведено обновление выбранного компонента:

  • обновить данные из новой версии бандла без изменения версии приложения - при данном обновлении не изменяется версия компонента, но при этом могут добавиться новые настройки или интерфейсы компонента;

  • обновить до новой версии приложения - при данном изменении производится изменении версии приложения компонента на более новую, для корректного применения обновления требуется обязательная переустановка компонента;

  • обновить до более ранней версии приложения - данное действие возможно выполнить не для всех компонентов, так как необходимо учитывать совместимость более ранней версии приложения с версиями других компонентов услуги;

После завершения обновления у компонента будут обновлены все настройки, связи инсталляции и само приложение (если была выбрана новая версия приложения) в Datamart Platform Studio на текущую актуальную версию из библиотеки приложений. Статус инсталляции изменится на в Обновлена.

Обновление инсталляции приложения

Рисунок 11.4 Обновление инсталляции приложения.

Примечание

Опция «Принудительно» (выкл. по умолчанию) влияет на логику обновления настроек приложения следующим образом: При выкл. будут сохранены значения настроек, файлов и интерфейсов, которые у новой версии приложения совпадают с установленной версией. Если в новой версии появились новые настройки (файлы, интерфейсы), они будут добавлены. При вкл. все настройки и интерфейсы будут полностью заменены настройками новой версии приложения по умолчанию. Если у инсталляции были загружены файлы, они останутся.

  1. Обновление настроек конфигурации при смене версии.

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

  1. Применение обновления к компоненту услуги

Для применения произведенного обновления к компоненту услуги на сервере:

  • при смене версии приложения необходимо в меню управления выполнить действие «Переустановить»;

  • при обновлении до новой версии бандла без изменении версии самого приложения в большинстве случаев достаточно выполнить действие «Применить конфигурацию (bind)».

Примечание

При выполнении действия «Переустановить» будет удален docker-контейнер со старым приложением и создан новый с новой версией. При выполении действия «Переустановить» для statefull кластеров и инсталляций, необходимо предварительно выполнить бекап данных во избежание их потери.

Предупреждение

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