回滚到Linux上已部署的企业应用程序的最佳做法是什么? 考虑这种情况,我们有一个应用程序服务器 (假设它是由gunicorn服务的django),一个数据服务器 (mysql)和一个任务服务器 (芹菜)。 我已经部署到不同的服务器。 源代码由gitlabpipe理。 在进行更新时,发生了一些错误,需要回滚。 主要有两种途径:
首先在django中使用migrate命令来回滚数据服务器的状态; 其次在应用程序服务器和任务服务器上 ,在更新之前备份源代码,以及在回滚时备份备份。
在更新之前closures所有服务器并创build服务器的快照。 当我们需要回滚时恢复到快照。
方法2当然更安全。 但成本昂贵。
由于情况正在为企业开发应用程序,所以我不太确定Docker是否可以接受。
我担心的是数据服务器的回滚,因为表结构可能会改变,并且里面有真实的数据。 如果我们使用docker,我不太确定如何处理数据服务器,是否需要一个映像?