Как грамотней настроить на обычном хостинге создание копии сайта и залив изменений?

Есть рабочий сайт. Хотелось бы повесить на поддомен типа beta.domen.ru полную копию сайта с копией бд, что бы делать там правки, а позже как то синхронизовать это все на "бой".
Насколько я понимаю - нужно вначале на основе сделать гит и из него разворачивать, а как быть с созданием копии бд?
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ответы на вопрос 2
@rPman
У вас должны быть какие то механизмы развертывания сайта на проде, не важно какие, хоть скрипты, хоть ansible, главное не вручную! Причем такие скрипты должны различать установку с нуля и обновление (обновление - отдельный разговор, к сожалению красиво и универсально с базами данных не получится, но стараться нужно, чтобы иметь повторяемость и тестируемость и получать хоть какие то гарантии того что процесс обновления ничего не сломает)

Мне нравится способ создания тестового окружения через снапшоты и репликацию...
Файлы могут попадать простым копирование (развертывание архива, rsync, набор патчей и т.п.) а база данных через поддержание онлайн реплики master->slave, на машине, где можно временно остановить slave реплику, снять снапшот с файловой системы или всей машины (например виртуализация), и поднять копию параллельно в другой сети (виртуальные машины очень красиво позволяют все это разрулить с автоматизацией).

Этот подход позволяет поднять тестовое окружение с текущей базой данных за минуты, вне зависимости от ее размера (хоть терабайты), время развертывания скорее зависит от того как долго будет останавливаться реплика (ожидание завершения текущих операций записи)

p.s. во время развертывания обновления, обычно сильно затрагивающего базы данных, советую держать 'рядом' предыдущую версию с возможностью оперативно откатиться, нервов и времени сбережете очень много
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
Насколько я понимаю - нужно вначале на основе сделать гит и из него разворачивать, а как быть с созданием копии бд?

Посмотрите на liquibase и flyway. Они спецом создавались чтобы обновления на базу катились через git.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы