在Serverless中能否实现类似Terraform Plan的Lambda变更预览功能?
如何在Serverless Framework部署前查看Lambda的配置变更
以下是几个能有效查看部署前变更的方案,弥补serverless changeset插件的不足:
1. 用Serverless内置命令+本地模板对比
- 运行
serverless package,生成待部署的CloudFormation模板和资源包到本地.serverless目录 - 从AWS CloudFormation控制台导出当前已部署栈的模板文件
- 使用本地对比工具(如
diff命令、VS Code的文件对比功能)直接对比两个模板,能清晰看到Lambda名称、标签、内存配置等所有资源的变更细节
2. 使用serverless-diff插件
- 安装插件:
npm install --save-dev serverless-diff - 在
serverless.yml中添加插件声明:plugins: - serverless-diff - 执行
serverless diff,命令会自动对比当前云端栈资源与本地待部署配置的差异,覆盖Lambda标签、环境变量、函数名称等多种配置变更
3. 借助AWS CloudFormation变更集
- 执行
serverless deploy --no-execute-changeset,该命令会在AWS侧创建部署变更集但不会实际执行部署 - 登录AWS控制台,进入对应CloudFormation栈,查看生成的变更集详情,里面会明确列出所有资源的变更类型(新增/修改/删除)以及具体的配置差异,包含Lambda的各项属性
内容的提问来源于stack exchange,提问作者Sudip Pramanick
相关产品推荐
相关产品推荐

