Перейти к содержанию

Особенности обновлений на старых версиях(до 1.59)

Проверка переменных окружения

  1. Открыть файл /etc/profile.d/alpine-octopus-variables.sh для редактирования.
  2. Убедиться, что содержимое файла соответствует следующему:

    export OCTOPUS_WORKDIR=~/octopus export PRIVATETOKEN=glpat-... export DOCKER_USER=... export DOCKER_REGISTRY=registry.usetech.ru

  3. Актуальное значение для переменных PRIVATETOKEN, DOCKER_USER необходимо запросить у службы поддержки.

Проверка авторизации в реестре контейнеров Octopus

Проверка имеет смысл для обновлений на версиях до 1.59.20. Для выполнения авторизации выполните следующую команду:

docker login -u <логин> -p <glpat-...<токен>> registry.usetech.ru

Результат успешной авторизации представлен на скриншоте ниже: Скриншот15.03.15.png

Значения логина и токена необходимо получить у службы поддержки

Проверка наличия SSL сертификатов

На последних версиях продукта Октопус, пользовательский интерфейст стал использовать протокол HTTPS вместо HTTP. Для его корректной работы нужны либо пользовательские сертификаты, либо сертификаты, поставляемые с продуктом Октопус.

  1. Найти и скачать сертификаты можно на официальном сайте обновлений Октопус
  2. Создать директорию /home/octopus/octopus/certificates при необходимости
  3. Скачанные сертификаты необходимо разместить в директории /home/octopus/octopus/certificates

Установка необходимых пакетов для процесса обновления

  1. Для работы скрипта обновления нужны следующие пакеты:
    • busybox-extras;
    • grep;
    • rsync;
    • unzip.
  2. При онлайн обновлении и наличии выхода в интернет необходимо поставить пакеты следующей командой:

    sudo apk add busybox-extras grep rsync unzip

  3. При офлайн обновлении необходимо вместе с пакетом обновления Octopus скачать все необходимые недостающие пакеты либо из официального репозитория alpine, либо специально подготовленный архив пакетами с сайта Octopus.

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

    mkdir offline-update-begin tar -xf octopus-begin-offline-update.tar -C offline-update-begin/

  5. После распаковки архива внутрь директории offline-update-begin, необходимо вручную запустить следующую команду установки пакетов из каждой вложенной директории:

    sudo apk add --no-network --allow-untrusted *.apk

  6. Убедиться, что инструменты обновлены:

    grep --version

    grep correct version.png

    unzip -v

    unzip correct version.png

    rsync --version

    rsync correct version.png

Обновить скрипт обновления

  1. Скачать файл update_begin.sh с официального сайта обновлений Octopus
  2. Заменить файл, расположенный по пути /home/octopus/octopus/scripts/update_being.sh на тот, который был скачан в пункте 1.

Ручное выполнение миграции с неподдерживаемой версии 1.0.181.21

К сожалению, на старых версиях 1.0.181.21 необходимо ПЕРЕД обновлением вручную произвести миграцию.

  1. Скачать файл миграции manual_181.sql и поместить его внутрь ВМ Октопус
  2. Выполнить команды миграции:

    docker compose stop && docker compose up -d postgres docker exec -i octopus.postgres psql -U postgres -d octopus --single-transaction --set ON_ERROR_STOP=on -f - < manual_181.sql

Изменение пользователя и прав доступа

Постепенно вносятся критически важные изменения в модель безопасности и управления правами доступа. В версии 1.59 платформа Octopus должна запускаться от имени специально созданного системного пользователя octopus.

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

Выполните следующие команды на сервере под учетной записью, обладающей правами sudo:

  1. Изменение владельца рабочей директории octopus:

    sudo chown -R octopus:octopus /home/octopus/octopus

  2. Настройте права на запись для директории дампов: Это обеспечит корректную работу механизма резервного копирования и восстановления ClickHouse под новым пользователем.

sudo chmod 775 /home/octopus/octopus/config/clickhouse/dumps/

Обновление скрипта управления брандмауэром (iptables)

  1. Скачать файл closeports.sh с официального сайта обновлений Octopus
  2. Заменить файл, расположенный по пути /home/octopus/octopus/scripts/closeports.sh на тот, который был скачан в пункте 1.
  3. Запуск скрипта. Запустите обновленный скрипт, указав в качестве аргументов номера портов, которые необходимо открыть (например, 22, 80, 443 для SSH, HTTP и HTTPS).

sudo /home/octopus/octopus/scripts/closeports.sh 22 80 443

Скрипт выполнит следующие действия:

  • Сбросит текущие правила iptables.
  • Установит политики по умолчанию (закрытый входящий и переадресуемый трафик, открытый исходящий).
  • Разрешит работу через локальный интерфейс (lo).
  • Разрешит уже установленные и связанные соединения.
  • Перезапустит службу Docker.
  • Добавит правила для приема входящего трафика на указанные порты.
  • Сохранит примененные правила для восстановления после перезагрузки.

Важно: После выполнения этого скрипта будут открыты только те порты, которые вы указали в команде.