Окружения и 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-деплой —
мгновенный, без перебилда.