我需要构建CI / CD管道来更新使用控制台创建的现有Lambda函数的代码。创建一个新的不是一个选择!
我在部署阶段成功使用CloudFormation部署了代码,但是,它只能更新使用CloudFormation / SAM创建的Lambda函数的代码。当我在template.yaml文件中指定Lambda的名称和现有Lambda的名称时,它会尝试创建它并告诉我它已经存在!
我尝试的第二种方法是使用CodeDeploy进行部署,但出现此错误:-“ BundleType必须为YAML或JSON”
此线程提供了解决此问题的方法,我无法将其应用于我的情况:CodePipeline: CodeDeploy reports "BundleType must be either YAML or JSON"
还有其他方法可以建立仅更新Lambda函数代码的正确CI / CD管道吗?
从CloudFormation更新Lambda代码的一种方法是将您的Lambda代码存储在启用版本控制的S3中。
在堆栈更新期间不会自动检测到对Amazon S3中的部署软件包的更改。要更新功能代码,请更改模板中的对象键或版本。
因此,管道可能类似于:
希望有所帮助。