Откат сайта на предыдущий деплой
Как вернуть код сайта к коммиту прошлого деплоя, что делает скрипт отката и что откат не возвращает.
Обновлено 27 октября 2026 2 мин чтения
Откат возвращает код сайта к коммиту одного из прошлых деплоев. Для него не нужно создавать новый коммит в репозитории. Откат доступен на тарифе с Git-деплоем.
Как откатить
- Откройте сайт → Код и деплой → Деплой.
- В таблице Деплои найдите успешный запуск, который хотите вернуть. Кнопка Откат есть у всех успешных запусков, кроме самого свежего.
- В окне Откат до с коротким хешем проверьте коммит, автора и сообщение.
- При необходимости поправьте Скрипт отката. Кнопка Сбросить к значению по умолчанию вернёт стандартный.
- Нажмите Откат. Окно закроется, а ход отката появится в Живом логе деплоя.
В скрипте отката {COMMIT} заменяется на хеш целевого коммита, поэтому вставляйте этот маркер вместо хеша.
Что делает стандартный скрипт для Laravel
Скрипт переводит сайт в режим обслуживания, переключает код на выбранный коммит, ставит зависимости Composer, собирает фронтенд, выполняет artisan migrate --force, пересобирает кеш и снимает режим обслуживания.
Чего откат не делает
Откат не возвращает базу данных. Скрипт только применяет миграции, которых ещё нет в базе, и не выполняет откат миграций. Если новая версия добавила таблицы или колонки, они останутся. Если нужен откат данных, сначала сделайте резервную копию.
Откат на сайтах с деплоем без простоя
Если включён деплой без простоя, откат переключает симлинк current на сохранённый релиз. Откатиться можно только к релизу, который ещё хранится. Их число задаётся в настройках, см. статью «Деплой без простоя».
Если не получается
- Скрипт отката не выполнен: откройте лог деплоя и найдите первую ошибку в выводе.
- Для коммита не найден релиз: сайт на деплое без простоя, а нужного релиза уже нет. Увеличьте число хранимых релизов для будущих деплоев.
- Кнопка Откат неактивна: на сайте уже выполняется другая задача. Дождитесь её окончания.