【问题标题】:Just deploy cloudformation changes with serverless framework for AWS只需使用适用于 AWS 的无服务器框架部署 cloudformation 更改
【发布时间】:2025-12-24 22:00:11
【问题描述】:

我正在使用 AWS 提供商对我的 serverless.yml 中的自定义资源进行更改。来自 lambda 代码的包没有改变,它已经从之前的部署上传到 S3。

我怎么说“使用 S3 中已有的工件,只需上传更改后的 cloudformation 模板并使用它更新堆栈”?

【问题讨论】:

    标签: serverless-framework


    【解决方案1】:

    目前,仅使用无服务器框架更新基础架构还无法实现。即使没有代码更改,您也需要执行完整部署。

    但是,如果没有代码发生更改,则执行常规 sls deploy 将无法解决问题,因为框架不会仅检测基础架构更改。如果您想强制重新部署(即您在 serverless.yml 文件中为您的 Lambda 函数连接了一个新触发器),您必须使用 --force 标志强制部署

    sls deploy --force

    【讨论】:

    • 不是上传所有工件吗?我只想上传 cloudformation 工件
    • 如果代码未更改,这是更新基础架构的唯一方法。
    • 我现在明白了。我希望已经有解决方案,很多时候我不得不重新部署整个代码,因为我更改了serverless.yml 文件中的环境变量。恐怕目前这是不可能的:(
    • 如果你更新你的答案说这个,我会把它标记为正确的。
    • 就是这样:)。