使用 Serverless Framework 部署 AWS Lambda 每次新增版本如何避免
避免Serverless Framework部署AWS时自动生成Lambda版本的配置方案
默认情况下Serverless Framework会在每次部署时自动为所有Lambda函数生成独立版本,可通过以下配置关闭该行为:
1. 全局关闭所有函数的版本生成
在serverless.yml的provider配置块中添加versionFunctions: false参数,配置生效后所有函数部署时都不会再生成新版本:
provider: name: aws runtime: python3.9 # 替换为你的实际运行环境 versionFunctions: false # 关闭全局Lambda版本生成
2. 仅关闭指定单个函数的版本生成
如果不需要全局关闭,仅需要跳过特定函数的版本生成,可以在对应函数的配置块中添加version: false参数:
functions: testFunction: handler: index.main version: false # 仅当前函数不生成新版本 # 其余未配置的函数仍会默认生成版本 otherFunction: handler: index.other
注意事项
- 如果你使用了灰度发布、流量切分相关的Serverless插件(比如
serverless-plugin-canary-deployments),这类插件会强制开启Lambda版本生成逻辑,需要额外在对应插件的配置项中关闭版本生成能力。 - 配置完成后执行
sls deploy完成部署,可到AWS Lambda控制台对应函数的「版本」页签确认,除默认的$LATEST版本外不会生成新的版本即说明配置生效。
该配置仅会阻止后续部署生成新的Lambda版本,不会清理AWS账户中已经存在的历史版本,历史版本可手动在Lambda控制台或通过AWS CLI批量删除。
内容的提问来源于stack exchange,提问作者Penelope
相关产品推荐
相关产品推荐

