use*_*825 1 aws-lambda aws-codepipeline aws-codebuild
我正在尝试设置 CodePipeline 来管理一个非常简单的 Lambda 函数的部署。
我完全陷入了部署步骤的问题,无法弄清楚可能出了什么问题。
当管道尝试运行 CodeDeploy 操作时,它失败并显示错误...
BundleType must be either YAML or JSON
这是我的应用程序规范...
version: 0.0
Resources:
- my-function:
Type: AWS::Lambda::Function
Properties:
Name: "my-function"
Run Code Online (Sandbox Code Playgroud)
我的管道没有构建步骤,因为它只是一个简单的 js 文件,没有依赖项,因此不需要构建。
我尝试添加一个操作来部署到 S3,我可以确认发送到 s3 的 zip 文件包含 appspec.yml 和 index.js,并且它们都位于根目录中。
我见过的大多数示例都使用构建规范,但我不确定为什么我需要这个,或者如果我有一个它会做什么。
您的设置没有问题,这是服务的一个缺点,您无法在 CodePipeline 操作中使用 CodeDeploy 来部署 Lambda 函数。
原因是因为 CodeDeploy 需要用于 Lambda 部署的 JSON 或 YAML appspec 文件,但当前 CodePipeline 支持 ZIP 作为捆绑类型,因此会引发错误。
要解决此问题,客户可以通过 CloudFormation 部署操作(确切地说是 SAM)在 CodePipeline 中部署 Lambda。请参阅本教程了解此推荐方法:
| 归档时间: |
|
| 查看次数: |
1756 次 |
| 最近记录: |