Перейти к содержимому

Деплои

Деплой (deployment) — это конкретная версия вашего приложения, развёрнутая на ONREZA. Каждый деплой имеет уникальный URL и может быть в одном из нескольких статусов.

Деплой из основной ветки (обычно main или master). Доступен по production URL проекта.

  • Только один активный production деплой в любой момент
  • Новый деплой автоматически заменяет предыдущий
  • Доступен по production alias: project-workspace.onreza.app

Деплой из любой другой ветки или merge request. Используется для тестирования изменений.

  • Каждая ветка может иметь активный preview деплой
  • Уникальный URL для каждого деплоя
  • Идеально для code review
PENDING → QUEUED → BUILDING → UPLOADING → READY_TO_DEPLOY → DEPLOYING → SMOKE_TESTING → LIVE
↓ ↓ ↓ ↓ ↓
FAILED FAILED FAILED FAILED FAILED
СтатусОписание
PendingДеплой создан, ожидает обработки
QueuedВ очереди на сборку
BuildingBuilder собирает приложение
UploadingЗагрузка артефакта в хранилище (CLI deploy flow)
Ready to DeployАртефакт готов, ожидает развёртывания
DeployingPublisher разворачивает приложение
Smoke TestingАвтоматическая проверка работоспособности
LiveДеплой активен и обслуживает трафик
StoppedОстановлен (заменён новым или вручную)
FailedОшибка на одном из этапов
CancelledОтменён пользователем
SkippedBuild пропущен по Ignored Build Step
  • Live — успешный деплой
  • Stopped — остановлен
  • Failed — ошибка
  • Cancelled — отменён
  • Skipped — пропущен

Каждый деплой получает уникальный URL:

Уникальный для каждого деплоя, не меняется:

myproject-abc123-workspace.onreza.app

Для production деплоев, указывает на текущий активный:

myproject-workspace.onreza.app

Для preview деплоев, указывает на последний деплой ветки:

myproject-git-feature-branch-workspace.onreza.app

При настроенном webhook каждый git push создаёт новый деплой:

  1. Git провайдер отправляет webhook
  2. ONREZA проверяет подлинность
  3. Создаётся деплой для соответствующей ветки

Настройка webhooks

Нажмите Deploy на странице проекта для создания деплоя из текущего состояния ветки:

  1. Перейдите в проект
  2. Нажмите кнопку Deploy
  3. Выберите ветку (опционально)
  4. Дождитесь завершения деплоя
Окно терминала
nrz deploy

Команда nrz deploy валидирует build output и загружает артефакты на платформу.

При большом количестве деплоев они ставятся в очередь:

  • Позиция в очереди видна на странице деплоя
  • Лимит concurrent builds зависит от плана (1 для Hobby, 3 для Pro)
  • Prioritize Production (Pro) — production деплои идут первыми

При возникновении transient ошибок билд автоматически перезапускается (до 3 попыток):

Тип ошибкиПримерыДействие
Network errorsConnection timeout, DNS failureАвтоматический retry
HTTP 502/503/504Bad Gateway, Service Unavailable, Gateway TimeoutАвтоматический retry
Build failureОшибки в коде или зависимостяхНет retry (fail сразу)

Логи доступны через UI в реальном времени:

  1. Перейдите в Project → Deployments
  2. Выберите нужный деплой
  3. Логи отображаются в реальном времени через Server-Sent Events (SSE)

Подробнее о логах

После развёртывания ONREZA автоматически проверяет:

  1. Контейнер запустился
  2. Приложение отвечает на HTTP запросы
  3. Нет критических ошибок

Если проверка не проходит, деплой помечается как Failed.

ONREZA использует blue-green стратегию:

  1. Новый деплой разворачивается параллельно
  2. После успешной проверки трафик переключается
  3. Старый деплой останавливается

Это обеспечивает zero-downtime deployments.

МетрикаHobbyPro
Concurrent Builds13
Build Minutes/месяц60300
Build Timeout20 мин20 мин

Подробнее о лимитах