回滾到 Linux 上已部署的企業應用程序的最佳實踐是什麼?
考慮這種情況,我們有一個應用程序服務器(假設它是由gunicorn 提供的 django),一個 數據服務器(mysql),和任務服務器(celery)。我已經將它們部署到不同的服務器上。源代碼由gitlab管理。更新時出現錯誤,需要回滾。
主要有兩種方法:
首先在django中使用migrate
命令回滾數據服務器的狀態;其次在應用服務器和任務服務器,更新前備份源代碼,cp
回滾時備份。
更新前關閉所有服務器並製作服務器快照。並在需要回滾時恢複到快照。
當然方法2更安全。但成本較高。
由於情況是為企業開發應用程序,我不太確定 Docker 是一個可以接受的解決方案。
我擔心的是數據服務器的回滾,因為表結構可能會改變,而且裏麵有真實的數據。如果我們使用 docker,我不太確定如何處理數據服務器,是否需要它的圖像?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...