1

对 AWS 来说很新,对 CI/CD 来说非常新。还有一个问题:将部署 React 网站部署到 S3 存储桶。

我有一个Git包含 React Web 应用程序的存储库。

我已经设置了一个AWS CodePipeline项目,它会轮询 repo 的 master 分支以查找提交。

然后它会触发AWS CodeBuild构建 React 应用程序的项目,如buildspec.yml

在示例/教程中,我遵循了buildspec.yml以下内容...

post_build:
    commands:
      - aws s3 cp dist s3://${S3_BUCKET} --recursive

...将构建输出复制到目标S3 Bucket

这一切都很好,但是这假设 S3 存储桶已经存在。

问题:哪个步骤应该负责创建目标S3 Bucket,我应该使用什么来创建目标?

我在想也许它应该是CodeDeploy另一个Cloudformation模板

在走错路之前经过一点指导:)

非常感谢。

4

1 回答 1

1

好的,所以我想我找到了您所指的教程:https ://www.karelbemelmans.com/2017/01/deploying-a-hugo-website-to-amazon-s3-using-aws-codebuild/

你能指定两个 post_build 命令吗?您可以先创建存储桶,如果存储桶已经存在,这可能会失败,但谁在乎呢?或者您可以检查存储桶是否存在并且仅当它不创建它时。这是创建存储桶所需的 s3 命​​令:

https://docs.aws.amazon.com/cli/latest/reference/s3api/create-bucket.html

有一个用于列表存储桶的 API,但我无法发布它,因为不幸的是,这个新用户还没有 10 名声望。

祝你好运,-阿萨夫

于 2017-07-10T18:15:54.177 回答