通过CodePipeline部署Lambda的首选方法是使用CloudFormation Deploy操作[1]。由于您不想使用CloudFormation,因此下一个选择是从管道的一部分CodeBuild作业中运行Terraform Plan / apply命令。您将需要提供CodeBuild角色所需的资源创建权限(或导出环境变量中的凭据以供TF通过此[2]方法使用),并在buildspec的安装阶段中安装TF二进制文件。
我正在使用terraform在AWS上创建所有基础设施(CodePipeline,lambda,存储桶)>
当前,我已经创建了一个构建源zip文件并将其放在s3存储桶中的管道,但是lambda仍然继续使用旧的源文件。因此,我在AWS控制台中手动更新了URL,它可以工作。现在我想自动化流程,但是可用的解决方案是:
我根本不愿意使用CFT,因为我们所有的代码都是terraform,CFT要求我创建新的lambda,而不是使用旧的lambda。
还有其他更简单的方法可以通过Codepipeline更新lambda源吗?>
目前,我正在使用terraform在AWS上创建所有基础设施(CodePipeline,lambda,bucket),我创建了一个构建源zip文件并将其放在s3存储桶中的管道,但lambda仍然...
] >通过CodePipeline部署Lambda的首选方法是使用CloudFormation Deploy操作[1]。由于您不想使用CloudFormation,因此下一个选择是从管道的一部分CodeBuild作业中运行Terraform Plan / apply命令。您将需要提供CodeBuild角色所需的资源创建权限(或导出环境变量中的凭据以供TF通过此[2]方法使用),并在buildspec的安装阶段中安装TF二进制文件。
Ref:
[[1]使用AWS CodePipeline为Lambda应用程序构建持续交付管道-https://docs.aws.amazon.com/lambda/latest/dg/build-pipeline.html
通过CodePipeline部署Lambda的首选方法是使用CloudFormation Deploy操作[1]。由于您不想使用CloudFormation,因此下一个选择是从管道的一部分CodeBuild作业中运行Terraform Plan / apply命令。您将需要提供CodeBuild角色所需的资源创建权限(或导出环境变量中的凭据以供TF通过此[2]方法使用),并在buildspec的安装阶段中安装TF二进制文件。