Назад | Перейти на главную страницу

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

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

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

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

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

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

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