如果只更改一个函数,如何避免在无服务器框架的服务器中部署所有五个函数



我有一个无服务器框架服务,上面有五个使用 python 的 aws lambda 函数。通过使用github,我为CI/CD创建了一个CodePipeline。

当我推送代码更改时,它会部署所有功能,即使只更改了函数。

我想避免部署所有功能,CI/CD 应该确定更改的功能并部署它。其余功能不应再次部署。

此外,是否可以使用 AWS SAM 处理此类问题,因为在此阶段,我可以选择通过退出无服务器框架来切换到 SAM

不幸的是,没有"本地"方法可以做到这一点。您需要编写一个 bash 来循环访问更改的文件并为每个文件调用sls deploy -s production -f

我也遇到了这个问题,最终它驱使我创建了一个替代方案。

Rocketsam 利用 sam local 允许仅部署更改的功能而不是整个微服务。 它还支持其他很酷的功能,例如:

  • 获取每个函数的实时日志
  • 在函数之间共享代码
  • 每个函数的模板,而不是一个大的模板文件

希望它能:)解决您的问题

相关内容

  • 没有找到相关文章

最新更新