Точки отката и хранение исходников
Каждый успешный деплой — готовая копия сайта или приложения. Пока копия лежит в хранилище, на неё можно вернуться за секунды, без пересборки. Копии хранятся не вечно: ниже — сколько их остаётся и что с этим делать.
Сколько деплоев доступно для отката
| Окружение | Хранится |
|---|---|
| Production | 10 последних успешных деплоев |
| Ветка с preview-адресом | 3 последних успешных деплоя |
| Ветка, которая не раздаётся и в которую не деплоили 30 дней | ничего |
Production — это ветка по умолчанию и то окружение, деплой которого сейчас
открывается по основному адресу проекта. У проектов без репозитория это
обычно окружение cli.
Деплой, который раздаётся прямо сейчас, и предыдущий production-деплой хранятся всегда, сколько бы новых ни вышло после них. Кнопка «Откатить» поэтому работает, даже если production не обновляли год.
Откатиться можно только на успешный деплой. Файлы упавших и отменённых сборок удаляются: сайта в них нет.
Правило одно для статических сайтов и для приложений — SSR на Next, Node, Python.
Что происходит со старыми ветками
Ветка «не раздаётся», когда у неё нет действующего preview-адреса: её удалили, слот превью занят другой веткой или сборка не дошла до конца. Если в такую ветку не деплоили 30 дней, её копии удаляются.
Вернуть такую ветку просто: сделайте в неё push. Layero соберёт её заново из репозитория.
Ветка с действующим preview-адресом под это правило не попадает, сколько бы она ни простояла без изменений.
Как вернуться на деплой, которого нет в списке
Старше окна — значит, готовой копии уже нет. Остаётся пересобрать нужный коммит:
- проект из репозитория — запустите деплой с нужного коммита или ветки;
- проект из загруженных файлов — загрузите эту версию файлов заново.
Пересборка старого коммита не гарантирует тот же результат: зависимости ставятся сегодняшние. Поэтому версию, к которой может понадобиться вернуться, лучше отмечать тегом в репозитории.
Исходники, загруженные без репозитория
Если проект публикуется загрузкой файлов — из панели, командой
layero deploy или через агента, — Layero сохраняет загруженный архив,
чтобы проект можно было пересобрать без повторной загрузки.
- Архив последней загрузки проекта хранится, пока существует проект.
- Архивы предыдущих загрузок хранятся 7 дней.
Кнопка «Redeploy» пересобирает проект из последнего загруженного архива.
Если пересобирать нечего — файлы в проект ещё не загружали, — кнопка
неактивна, а подсказка на ней объясняет почему. В этом случае нажмите
«Обновить файлы» или выполните layero deploy.
Архив исходников — не резервная копия вашего кода. Храните исходники у себя или в репозитории: по архиву можно пересобрать проект, но скачать его обратно нельзя.
У проектов из репозитория исходники Layero не хранит вовсе: каждая сборка берёт код из репозитория заново.
Связано: Rollback, Окружения, preview и production.