Skip to main content

Окружения и preview-URL

Окружение = ветка

У каждого проекта есть default-окружение — это ветка, в которую приземляется production-трафик. Обычно это main.

Push в любую другую ветку создаёт preview-окружение с собственным hostname. У каждого окружения хранится ссылка на свой активный деплой (active_deploy_id) — переключение происходит атомарно после успешной сборки.

Адреса

Для каждого окружения Layero генерирует два URL:

URLКогда работаетСрок жизни
<owner>-<project>.layero.ruчерез 5–15 мин после первого деплояпока живёт проект
<project>-<sha7>.preview.layero.ruчерез ~30 сек после успешного деплоя24 часа после прогрева canonical

<sha7> — первые 7 hex-символов commit SHA конкретного деплоя.

Канонический hostname

Каноническое имя — то, что показываете пользователям. Оно покрыто wildcard-сертификатом *.layero.ru и работает через YC CDN.

Первая публикация нового hostname на CDN занимает 5–15 минут (выпуск edge-сертификата + распространение по edge-узлам). Это происходит один раз на проект — при создании. Дальше передеплои подменяют артефакты в S3 моментально, а канонический URL продолжает отдавать актуальную версию без задержек.

Preview-URL (fast-path)

Чтобы вы могли сразу проверить результат, Layero выдаёт preview-URL вида <project>-<sha7>.preview.layero.ru. Этот hostname покрыт отдельным wildcard-сертификатом *.preview.layero.ru и идёт мимо «свежего» CDN — напрямую через VM-edge с маршрутизацией к S3.

Через 24 часа после того, как канонический hostname прогрелся, preview начинает отвечать 301 redirect на canonical — чтобы старые ссылки постепенно «протухали» к актуальному адресу.

Прогресс прогрева в UI

В дашборде окружения отображается:

  • preview_ready — готов ли preview-URL (обычно ~30 сек после успеха).
  • cdn_ready — прогрелся ли канонический hostname.
  • cdn_progress — сколько уникальных edge-IP уже отвечает 200 на пробах.

Платформа в фоне опрашивает hostname через несколько публичных DNS (Yandex / Google / Cloudflare / AliDNS); как только ≥3 различных edge-IP вернут артефакт за окно ≥60 секунд — статус переключится в cdn_ready.

Откат

Откат на конкретный коммит = передеплой того коммита:

  • В UI — кнопка «Redeploy» напротив старого деплоя.
  • Из CLI — git checkout <sha> && layero deploy.

В S3 хранится последний артефакт каждого деплоя (в namespace deploys/{project_id}/{deploy_id}/), так что откат на ready-деплой — мгновенный, без перебилда.