Эксплуатация · 0.8.1

CI/CD: сборка и выпуск через GitLab или GitHub

Выберите CI-систему, настройте сборку и выпускайте готовые версии на сервер.

На этой странице

CI выполняет тот же процесс build/deploy, что и ручные команды. Сначала выберите, где собирать приложение, затем настройте доступы и релизную ветку. Первоначальное размещение и обычное обновление — разные действия.

Выберите доставку

В Deployment → Defaults задайте CI provider и Image delivery. В Environments создайте профиль и заполните сервер, домены и хранилища.

Доставка Сборка Что получает VPS
Source + GitLab На одном VPS внутри Deploy job Исходный код конкретного коммита; образы собираются на месте
Archive + GitLab/GitHub На runner Готовые release.json и архив Docker-образов
Registry + GitLab/GitHub На runner Релиз с адресами образов в registry

Source также можно использовать вручную без CI. Source + GitHub в текущем генераторе не поддерживается. Registry не обязан совпадать с CI-провайдером, а backup выбирается независимо от доставки.

Подготовьте доступы

Один раз выполните подготовку VPS и доменов. Для обычного профиля CI читает generated JSON и custom overlay из Git; копировать полный конфиг в secrets не требуется. Ключи SSH и credentials registry передаются отдельными защищёнными переменными.

Для Source серверу дополнительно нужен доступ к GitLab-репозиторию. Это другой ключ, чем CI → VPS. В UI укажите путь к существующему серверному Git checkout. Для нескольких проектов одного Unix-пользователя Source CI использует общую очередь сборок, а данные каждого проекта остаются отдельными.

Первый и последующие выпуски

Для новой установки нужны Provision и первый Deploy. Для обычного обновления — только Deploy. Generate пишет файлы, но сам не меняет сервер и не переносит локальный контент.

В GitLab Release branch настраивается в UI; по умолчанию main. Ручной Deploy включён по умолчанию, Automatic deploy — отдельная опция. В Source нет отдельного Build-job: он находится внутри Deploy. В Archive/Registry сначала выполняется Build, затем используется его артефакт.

Что меняете Действие
Код и модель Commit → релизная ветка → Deploy
Записи/контент сервера Сохранить в системе администрирования
Поддерживаемые настройки доставки/backup Явный reconfigure
Первоначальные данные из локальной БД Отдельный перенос, один раз

GitLab: настройка и запуск · GitHub: настройка и запуск · Обновление приложения

При прерывании job сначала посмотрите состояние окружения. Новый pipeline не отменяет уже выполненные действия: следуйте восстановлению операций. Старые сборки и архивы автоматически не очищаются; для них есть инструкция по диску.