【发布时间】:2021-08-07 23:52:14
【问题描述】:
这是我第一次使用 AWS CodePipeline(实际上是 CI/CD),我在将 NodeJS/Express 应用程序部署到 Elastic Beanstalk 时遇到了问题。
我设置了一个包含三个步骤的管道:
- 来自我的 GitHub 存储库
- 使用 CodeBuild 构建
- 部署到 ElasticBeanstalk
我的 Source 和 Build 阶段已成功完成,但部署步骤失败并显示以下消息:
操作失败,因为工件或 Amazon S3 存储桶 找不到。工件桶名称: codepipeline-us-east-1-[long-string-of-numbers]。验证这 桶存在。如果存在,检查生命周期策略,然后尝试 发布更改。
我已验证 S3 存储桶存在,并且上面没有生命周期策略。
我还检查了附加到正在使用的服务角色的策略,它具有完整的 S3 访问权限。
部署阶段具有以下设置:
- 操作名称:部署
- 动作提供者:Elastic Beanstalk
- 地区:美国东部(弗吉尼亚北部)
- 输入工件:BuildArtifact
- 应用程序名称和环境名称是我的 Elastic Beanstalk 设置的适当值
- 变量命名空间:DeployVariables
我已确认构建阶段的输出工件名称是“BuildArtifact”,它与我的部署阶段的输入工件匹配。
管道中最初没有构建步骤,并且之前使用的是不同的 S3 存储桶:elasticbeanstalk-us-east-1-[long-string-of-numbers],不确定这是否是一个因素与否。
知道如何让这个部署工作吗?
【问题讨论】:
标签: node.js amazon-web-services amazon-s3 aws-codepipeline