База данных Staging хорошие методы

Я собираюсь развернуть на производстве довольно сложный сайт и впервые нуждаться в среде подготовки, где я могу протестировать вещи в более реалистической среде, особенно относительно некоторых внешних сервисов, которые не могут быть выполнены локально.

Мой общий план состоит в том, чтобы разработать и протестировать сначала локально, продвинуть простые изменения (маленькие исправления ошибок, HTML/CSS, JS, и т.д.) прямо к производству, и для больших изменений, продвинуть сначала к подготовке субдомена для полного тестирования и затем к производству.

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

Любые общие мысли/совет/опыт ценились бы.

ОБНОВЛЕНИЕ:

Спасибо за комментарии я получаю суть. Я предполагаю, что это стоит занять время для размышления об этом. Принятый популярный ответ.

35
задан Tom 19 May 2010 в 14:35
поделиться

2 ответа

Пропуск постановки и внесение изменений в производство - это верный путь к катастрофе и неиспользованию. По мере того, как вы вносите эти изменения, определение второстепенного начинает меняться. Во-вторых, когда две среды уходят (т.е. постановка больше не соответствует производственной), все ломается, и вы теряете уверенность в промежуточной среде. Чтобы получить максимальную отдачу от промежуточного сервера, вы должны выполнять автоматическое развертывание на нем, полностью тестировать и только затем развертывать (автоматически) в производственной среде (независимо от того, насколько незначительно изменение). Вы также должны убедиться, что вся среда максимально похожа, и оставаться такой. Это, очевидно, включает в себя БД. Обычно я настраиваю синхронизацию ежедневно или ежечасно (в зависимости от того, как часто я создаю сайт или приложение) для поддержки БД и часто запускаю ее как часть процесса сборки.

31
ответ дан 27 November 2019 в 15:40
поделиться

Как человек, разрабатывающий программный инструмент , который помогает на каждом этапе процесса развертывания, я могу сказать, что лучшая практика, когда дело доходит до промежуточных сред, - это точно отражать вашу производственную среду . Это включает в себя идентичную схему базы данных (данные не имеют отношения к делу, иногда можно выполнять резервное копирование / обновление), ту же версию операционной системы, обновленные пакеты обновления, настройки веб-сервера и т. Д.

В идеальном мире, функциональном или пользовательском. Приемочное тестирование не обязательно проводить в промежуточном режиме, поскольку цель промежуточной среды - только протестировать ваше развертывание в производственной среде. Однако в практическом мире иногда допустимо, чтобы ваша промежуточная среда была также вашей функциональной средой или средой тестирования UA.

Каждый раз, когда вы изменяете настройку или конфигурацию на рабочем сервере, вы должны изменять настройку на промежуточном сервере, это гарантирует, что если вы сможете развернуть свое приложение на промежуточном этапе, оно с большой вероятностью развернется в производственной среде без ошибок. .

8
ответ дан 27 November 2019 в 15:40
поделиться
Другие вопросы по тегам:

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