如何将 S3 存储桶中的文件添加到 AWS CodePipeline 中的输出工件? (NodeJS)

问题描述

我正在使用 AWS CodePipeline,它从我的 git 存储库中获取代码,使用 CodeBuild buildSpec 构建输出工件并将其保存到 S3 存储桶,最终将其部署到 Elastic BeanStalk(NodeJS 环境)。

一切正常,但我需要管道从我的 AWS S3 存储桶之一复制 1 个特定文件并将其添加output artifacts,然后再将其部署到 EB

可以使用 buildSpec 来完成吗?

artifacts:
  files:
    - '**/*'
    # - How to add a file from S3 to the artifacts?

解决方法

我的建议是作为 buildpost_build 的一部分,将所需文件从 s3 复制到您的构建目录中。

build:
  commands:
    - echo "Build commands"
    - aws s3 cp --region=xx-xxxx-x "s3://file/in/s3" "local-file-instance-to-include"

然后您将从 s3 复制文件,可用于您的构建,您可以将其添加到工件输出中。