Автообновление сайта из GitHub

Проверка, скачивание, установка и миграции базы — по кнопке.

Автоматизация ·3 дня

Задача
Каждое обновление сайта раньше проходило через разработчика: залить файлы по FTP, применить изменения в базе.
Заказчик хотел обновляться сам — быстро и без риска что-то забыть.

Решение
Сделали обновление прямо в панели: новая версия публикуется в приватном репозитории GitHub, сайт сам её проверяет, скачивает архив, сверяет контрольную сумму и распаковывает файлы поверх текущих. Затем применяются изменения базы данных и сбрасывается кэш.

Что внутри

  • проверка и установка обновления в один клик из панели;
  • архив собирается автоматически: весь код + список изменённых файлов;
  • защита от подмены (сверка контрольной суммы);
  • ручная загрузка ZIP и «только миграция БД» — как запасной путь.

Результат
Обновление занимает минуту вместо получаса ручной работы, а версия на сайте и в базе всегда совпадают.