Как откатить обновление в Linux при развертывании корпоративного приложения

Как лучше всего выполнить откат к уже развернутому корпоративному приложению в Linux? Рассмотрим эту ситуацию. У нас есть сервер приложений(скажем, django, обслуживаемый gunicorn), сервер данных(mysql) и сервер задач(celery). И я уже развернул их на разных серверах. Исходный код управляется gitlab. При обновлении произошла какая-то ошибка и требуется откат. Есть в основном два пути:

  1. первое использование migrate команда в django для отката состояния сервера данных; второй на сервере приложений и сервере задач, сделайте резервную копию исходного кода перед обновлением, и cpрезервная копия назад при откате.

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

Конечно, метод 2 гораздо безопаснее. Но это дорого.

Поскольку ситуация разрабатывает приложение для предприятия, я не очень уверен, что Docker является приемлемым решением.

Меня беспокоит откат сервера данных, так как структура таблицы может измениться, и в ней есть реальные данные. И если мы используем докер, я не совсем уверен, что делать с сервером данных, нужен ли для него образ?

0 ответов

Другие вопросы по тегам