Serverless Framework 迁移实践
本文以一个 Express.js 应用为例,分享如何将 Component 切换到最新版本,使用最新的开发调试模式等。
新老版本 Component 有什么区别?
新版本 Component 支持以下特性:
1.【降低门槛】交互式的一键部署指引:对于新用户而言,只需要在终端输入 serverless 命令,即可按照引导快速部署一个 Express 或 静态网站应用。
2.【极速部署】将一个 Express.js 应用部署到云端只需要5-6s 的时间,使本地和云端代码可以顺畅、快速同步。
3.【灵活复用】支持云端注册中心,每位开发者都可以贡献自己的组件到注册中心中,便于团队进行复用。
4.【实时日志】支持部署阶段实时输出请求日志、错误等信息,此外支持检测本地代码变化并自动部署云端,方便的进行云端代码开发。
5.【云端调试】针对 Node.js 应用,支持一键开启云端 debug 能力,对云端代码打断点调试,真正实现了在云端进行开发和调试的能力,无需考虑本地环境和远端环境的不一致问题。
6.【状态共享】通过云端部署引擎存储应用部署状态,便于账号和团队之间共享资源,协作开发。
而老版本的 Component 的原理如下:
- 需从 npm 安装 Component 到本地
- 本地存储部署状态
- 无法支持实时日志、云端调试等能力
怎样区分新老版本?兼容性如何?
Serverless Framework 1.67.2 版本及以上支持新版本 Component,以如下 express 应用为例,新版的 yaml 有如下特点:
1 | component: express # (required) name of the component. In that case, it's expre$ |
- component 的引用方式改变了,同时新增了
name
,org
,app
和stage
字段 - 在
inputs
中,增加了src
配置,代表的是源码的路径