发布和维护应用
Oak 的开发体验很好,一个项目在本地经常可以很快跑起来;但真正到了上线和维护阶段,问题就完全不一样了。
你会开始关心:
- 前后端产物分别怎么发布;
application和system这些运行时配置如何管理;- 数据字典、权限数据、i18n 数据如何同步到线上;
- 新老版本如何共存;
- 什么时候应该强制用户升级。
这些问题并不是 Oak 之外的“运维杂事”,它们其实和 Oak 的很多框架设计正好对应:
build负责生成运行产物;server:init负责首次初始化运行环境;db:upgrade:plan负责对比当前编译产物和目标数据库,生成结构升级计划;createUpdatePlan负责同步静态数据;oak-general-business的application负责应用发现与版本检查;OakApplicationHasToUpgrade负责把“不再兼容”的状态明确返回给客户端。
因此,这一章不会只讲“怎么把代码传到服务器”,而是会从 Oak 的真实运行机制出发,介绍一个应用从发布到升级的大致方法。