部署企业应用程序时如何在 Linux 上回滚更新

部署企业应用程序时如何在 Linux 上回滚更新

在 Linux 上回滚已部署的企业应用程序的最佳做法是什么?考虑这种情况,我们有一个应用程序服务器(假设 django 由 gunicorn 提供),数据服务器(mysql)以及任务服务器(celery)。并且我已经将它们部署到不同的服务器。源代码由 gitlab 管理。在进行更新时,发生了一些错误,需要回滚。主要有两种方法:

  1. 首先migrate在 django 中使用命令来回滚数据服务器; 其次应用程序服务器任务服务器,更新前先备份源代码,cp回滚时再备份。

  2. 关闭所有服务器并在更新之前制作服务器快照。当我们需要回滚时恢复到快照。

当然方法2更安全。但是成本较高。

由于情况是开发企业应用程序,我不太确定 Docker 是否是一个可接受的解决方案。

我担心的是数据服务器的回滚,因为表结构可能会发生变化,而且里面有真实的数据。如果我们使用docker,我不太清楚如何处理数据服务器,是否需要它的镜像?

相关内容