我们的当前发布流程是:拉取代码 --- 重启工作者/webservers --- 执行迁移。
这样做已经顺利,但上周发布时因为一项迁移添加了一个模型字段,这个字段在新代码中被引用。因为迁移应用在后,新代码跑了起来,所以生产环境被干掉。
这是一个很简单的修复方法是:在重启服务器前拉取代码并应用迁移,但移除字段的迁移会造成相反的问题:必须在发布结束后应用这些迁移。
你们是如何在发布时安全地自动化这一流程呢?或者你们是否手动应用迁移,并根据迁移类型决定何时应用它们?
我们的当前发布流程是:拉取代码 --- 重启工作者/webservers --- 执行迁移。
这样做已经顺利,但上周发布时因为一项迁移添加了一个模型字段,这个字段在新代码中被引用。因为迁移应用在后,新代码跑了起来,所以生产环境被干掉。
这是一个很简单的修复方法是:在重启服务器前拉取代码并应用迁移,但移除字段的迁移会造成相反的问题:必须在发布结束后应用这些迁移。
你们是如何在发布时安全地自动化这一流程呢?或者你们是否手动应用迁移,并根据迁移类型决定何时应用它们?
评论 (0)