﻿# Офлайн-обновление версии ELMA365 Enterprise

> [HTML Version](offline-version-update-enterprise.html)

Чтобы обеспечить целостность при миграции данных со сменой версии ELMA365, рекомендуется обновлять каждую [мажорную версию](version-support-elma365-on-premises.md) без пропусков, например, версию X.**4**.N можно обновить до X.**7**.N.

Процесс обновления ELMA365 Enterprise состоит из четырёх этапов:

1. [Определение количества шагов обновления](#definition-of-steps).

2. [Скачать Helm-чарт актуальной (latest) версии](#download-helm-chart).

3. [Копирование конфигурационного файла от текущей установленной версии](#copy-config-file).

4. [Обновление с помощью Helm в Kubernetes-кластере приложения ELMA365](#update-with-helm).

## Шаг 1. Определение количества шагов обновления

1. Определите версию установленного чарта, с помощью которого было ранее развёрнуто или обновлено приложение ELMA365:

````
helm show chart elma365/elma365

2. ````
На компьютере с доступом в интернет определите версию актуального (latest) чарта:

````
helm repo add elma365 https://charts.elma365.tech  
helm repo update  
helm search repo elma365/elma365

3. ````
Если установленный чарт необходимо обновить более чем на одну мажорную версию, нужно последовательно установить каждую из них  до актуального (latest) чарта.

**Важно**: перед установкой следующей мажорной версии обновите текущую версию до последнего [минорного релиза](version-support-elma365-on-premises.md#minor). При установке мажорной версии также используйте её последний минорный релиз.

````
начало примера

````
Примеры

Мажорные релизы On‑Premises имеют номера версий X.**1**, X.**4**, X.**7** и X.**10**. В примерах номер актуального минорного релиза для версии обозначается буквой **N**:

1. Версия установленного чарта X.**1**.**N**, версия актуального (latest) чарта X.**4**.**N** — обновление производится в один этап: сразу до X.**4**.**N**.

2. Версия установленного чарта X.**1**.**N**, версия актуального (latest) чарта X.**7**.**N** — обновление производится в два этапа: X.**1**.**N** > X.**4**.**N** > X.**7**.**N**.

3. Версия установленного чарта X.**1**.**N**, версия актуального (latest) чарта X.**10**.**N** — обновление производится в три этапа: X.**1**.**N** > X.**4**.**N** > X.**7**.**N** > X.**10**.**N**.

````
конец примера

````
Обратите внимание, если у вас установлена LTS-версия, то вы можете обновить её сразу на следующую LTS‑версию, согласно [жизненному циклу релизов](version-support-elma365-on-premises.md#lts-terms).

Чтобы посмотреть список всех версий ELMA365, используйте следующую команду:

````
helm repo add elma365 https://charts.elma365.tech  
helm repo update  
helm search repo elma365/elma365 --versions

## ````
Шаг 2. Скачивание Helm-чарта актуальной (latest) версии

1. На компьютере с доступом в интернет скачайте свежие образы ELMA365 и загрузите их в локальный реестр образов. Подробнее читайте в статье [«Загрузка образов ELMA365»](downloadin-images-elma365.md).

2. Обновите список чартов в репозитории:

````
helm repo add elma365 https://charts.elma365.tech  
helm repo update

3. ````
Если необходимо несколько шагов обновления, скачайте архивы чартов:

	- последнего минорного релиза установленной версии;

	- каждого мажорного релиза перед актуальной версией.

Для этого используйте следующую команду, подставляя вместо `<elma365-chart-version>` нужную версию:

````
helm pull elma365/elma365 --version <elma365-chart-version>

4. ````
Cкачайте архив актуальной версии (latest) чарта ELMA365 On-Premises:

````
helm pull elma365/elma365

5. ````
Полученные архивы чарта `elma365-X.Y.Z.tgz` скопируйте на сервер, где выполняется обновление.

6. Распакуйте чарты `elma365-X.Y.Z.tgz` в отдельные каталоги:

````
mkdir /path/to/elma365-X.Y.Z.tgz  
tar -xf elma365-X.Y.Z.tgz -C /path/to/elma365-X.Y.Z.tgz --strip-components=1

````
Вы также можете загрузить файл формата **.tar.gz** с определённой версией ELMA365 с помощью адресов, перечисленных в статье [«Ссылки для скачивания дистрибутивов ELMA365»](links-for-install-elma365.md#links-for-install-helm-offline). 

## Шаг 3. Копирование конфигурационного файла от текущей установленной версии

Cкопируйте конфигурационный файл `values-elma365.yaml` из каталога с чартом старой (текущей) установки ELMA365 On-Premises в каждый каталог с чартом подготовленным на шаге [скачивание helm-чарта актуальной (latest) версии](#download-helm-chart).

Если файл `values-elma365.yaml` был утрачен, получите параметры текущей установки ELMA365 и сохраните их в этот файл, выполнив команду: 

````
helm get values elma365 \[-n namespace\] > values-elma365.yaml

````
Обратите внимание, с версии 2023.4.30 обновилась структура конфигурационного файла `values-elma365.yaml`.

Если вы обновляете с 2023.4.**0–21** или с более ранних версий на 2023.4.**30** или более новые версии, нужно:

1. На компьютере с доступом в интернет получить обновлённый конфигурационный файл `values-elma365.yaml`:

- для актуальной (latest) версии с помощью команды:

````
helm show values elma365/elma365 > values-elma365.yaml

- ````
для определённой версии с помощью команды с флагом `--version`: 

````
helm show values elma365/elma365 --version <elma365-chart-version> > values-elma365.yaml

````
где `<elma365-chart-version>` — нужная версия системы.

2. Скопировать на сервер новый файл `values-elma365.yaml`, где будет производиться обновление.

3. Перенести вручную параметры приложения из конфигурационного файла `values-elma365.yaml` старого образца (версии до 2023.4.30) в новый конфигурационный файл.

## Шаг 4. Обновление с помощью Helm в Kubernetes-кластере приложения ELMA365

Обновите приложения ELMA365 с использованием конфигурационного файла `values-elma365.yaml`. Если имеются промежуточные мажорные версии (шагов обновления два или больше), последовательно произведите обновление на каждую мажорную версию до актуального (latest) релиза. 

Перейдите в каталог с нужной версией ELMA365 и выполните команду: 

````
helm upgrade --install elma365 ./elma365 -f values-elma365.yaml --timeout=30m --wait \[-n namespace\]

````
Обновление приложения занимает 10-30 минут. Дождитесь обновления параметров приложения ELMA365 Enterprise.