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

Обновление AppSec.Code с 16.7.5 до 26.1.1

Настоящая инструкция описывает запуск артефакта миграции для пути обновления 16.7.5 → 26.1.1. Она включает поэтапную смену образов ядра AppSec.Code и при необходимости отдельное обновление PostgreSQL.

Перед началом выполните полное резервное копирование (данные AppSec.Code, база данных, конфигурация и секреты). На время работы скриптов экземпляр будет недоступен.

Стадия 0. Состав артефакта и назначение скриптов

В архиве поставляются скрипты для развёртывания AppSec.Code с помощью Docker Compose.

Скрипт Назначение
upgrade_migrate_16_7_5_to_26_1_1.sh Основной сценарий: последовательно подставляет в docker-compose.yml образы из утверждённой цепочки версий, на каждом шаге останавливает стек, поднимает контейнер, дожидается готовности AppSec.Code, завершения batched background migrations, выполняет gitlab:check и gitlab-ctl reconfigure. Перед переходом на ветку 17.x один раз вызывает скрипт обновления PostgreSQL.
upgrade_postgres.sh Обновление внешнего контейнера PostgreSQL до версии, совместимой с новым ядром (метод дампа/восстановления, правка compose и конфигурации БД). Вызывается из основного скрипта на нужном этапе; при ручном запуске требует согласования с README в артефакте.

Скрипты ожидают, что в текущей рабочей директории лежит файл docker-compose.yml с сервисом AppSec.Code (и при необходимости — с внешним PostgreSQL). При отсутствии файла основной скрипт завершится с ошибкой.

Стадия 1. Скачивание архива из артифкатория

Подставьте учётные данные пользователя, имеющего право на чтение репозитория code-raw-release.

cd /путь_к_каталогу_с_docker-compose.yml

curl -fL --user 'ВАШ_ЛОГИН:ВАШ_ПАРОЛЬ' -O \
  'https://registry.appsec.global/repository/code-raw-release/migrations/migrations_upgrade_16.7.5-26.1.1.zip'

Рекомендуется не сохранять пароль в истории shell: используйте переменные окружения или запрос пароля интерактивно, если ваш процесс допускает это.

Стадия 2. Распаковка архива

Распакуйте содержимое в тот же каталог, где находится docker-compose.yml вашего экземпляра AppSec.Code:

unzip -o migrations_upgrade_16.7.5-26.1.1.zip -d .

Убедитесь, что рядом с docker-compose.yml появились скрипты из архива.

Стадия 3. Права на исполнение

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

chmod +x upgrade_migrate_16_7_5_to_26_1_1.sh upgrade_postgres.sh

Стадия 4. Запуск в tmux и планирование окна обслуживания

Полный цикл может занять от четырёх часов и дольше (фоновые миграции БД, перезапуски, проверки). Запланируйте окно обслуживания и уведомите пользователей.

tmux new -s appseccode-upgrade-16
# внутри сессии:
cd /путь_к_каталогу_с_docker-compose.yml
./upgrade_migrate_16_7_5_to_26_1_1.sh

Полезные команды:

  • Отключиться от tmux без остановки сценария: Ctrl+b, затем d.
  • Подключиться снова: tmux attach -t appseccode-upgrade-16.

Стадия 5. Ожидание успешного завершения

Дождитесь завершения скрипта с кодом 0 и отсутствия сообщений ERROR в выводе. После этого проверьте веб-интерфейс, вход, репозитории и CI по чек-листу вашей организации.

При сбое не удаляйте бэкапы и данные до разбора логов контейнера AppSec.Code и PostgreSQL; при необходимости обратитесь к подробному README внутри распакованного архива или к владельцам пакета миграций.

Дополнительно общие сведения об обновлении можно посмотреть в разделе Обновление.