1

我遵循http://docs.aws.amazon.com/lambda/latest/dg/automating-deployment.html上的教程

本教程演示了如何使用 AWS cloudformation 自动部署 lambda 和 API 网关。

一段时间后,我能够成功完成本教程。这意味着当我将提交推送到链接到 AWS CodePipeline 的 github 存储库时,更改的代码将上传/打包到 AWS -> 构建 -> 并部署(即我可以看到代码更改)

我的问题是我试图删除 lambda 函数,然后通过推送 git 提交来调用 Codepipeline。这欺骗了代码管道,我可以看到源代码、构建和暂存步骤成功完成。但是,我找不到 lambda?我认为 cloudformation 会重新创建应用程序?你能帮我吗?

4

2 回答 2

4

如果您手动删除了该功能,那么您很可能会遇到此问题:

作为 AWS CloudFormation 堆栈的一部分创建的资源必须从同一堆栈进行管理。对资源的修改必须通过堆栈更新来完成。如果删除了资源,还需要进行堆栈更新以从模板中删除该资源。如果资源被意外或故意手动删除,您在尝试执行堆栈更新时可能会遇到错误。

https://aws.amazon.com/premiumsupport/knowledge-center/failing-stack-updates-deleted/

您可以通过手动重新创建具有相同名称的资源来解决此问题,然后允许 CloudFormation 将来管理该资源。

于 2017-06-22T17:44:54.183 回答
1

我没有看到任何 lambda 函数的原因是因为我只创建了更改集(“创建或更新更改集”)而错过了添加实际部署阶段“执行更改集”。

于 2017-06-23T21:48:06.447 回答