Sas*_*shi 7 amazon-s3 amazon-web-services aws-codepipeline aws-codebuild
我正在尝试使用 CodePipeline 和以下设置在 AWS 上设置 CI/CD 管道
资料来源:S3
构建:代码构建
部署:CodeDeploy
发布:EC2 实例
我已经按照这个链接完成了配置
但是我的管道失败并显示错误消息
The object with key 'code-sashi/api' does not exist.
Run Code Online (Sandbox Code Playgroud)
我已经检查并确认存储桶名称正确,并且存储桶内有一个文件夹“api”。
设置此项的选项明确指出我可以输入 S3 对象键或 S3 文件夹。在这种情况下,我想使用 S3 文件夹,因为我的构建工件仅在 CodeBuild 运行后准备就绪。
但是 CodePipeline 继续查找对象键并忽略我的文件夹。
我还尝试将 S3 文件夹设置为“api”、“/api”、“api/”,但它们都不起作用。我尝试将我的文件直接复制到存储桶并将文件夹设置为“/”,但失败并显示“对象键不能以尾随 / 结尾”的不同错误消息
基于此链接,我应该能够通过 S3 文件夹将存储桶的所有内容作为“/”获取。
如果有帮助,我将使用 Bitbucket Pipelines 将文件从 Bitbucket 私有存储库上传到 S3。不幸的是 CodePipeline 无法直接连接 Bitbucket,因此 S3 解决方法。奇怪的是,CodeBuild 连接到 Bitbucket 存储库没有问题,但如果它是 CodePipeline 的一部分,则无法这样做。
题
如何正确配置 CodePipeline 以从“code-sashi”存储桶和“api”文件夹中获取我的文件?将来会有其他包含代码的文件夹,所以我想把它们都放在一个桶里。
我终于明白了这一点。
即使您想使用 S3 作为源而不是工件存储,也必须压缩文件,并且必须将压缩文件指定为对象键。
所以我在我的 Bitbucket Pipeline 中添加了一个 zip stage 并重新配置 CodePipeline 以使用压缩文件作为源。完美地工作!
| 归档时间: |
|
| 查看次数: |
4657 次 |
| 最近记录: |