对 AWS 来说是新的,对 CI/CD 来说非常新。 并有一个问题:将 Deploy React 网站部署到 S3 存储桶。
我有一个包含 React Web 应用程序的Git
存储库。
我已经设置了一个AWS CodePipeline
项目,该项目轮询存储库的主分支以查找提交。
然后,它会触发AWS CodeBuild
项目,该项目构建buildspec.yml
中定义的 react 应用程序
在我遵循的示例/教程中,buildspec.yml
有以下内容...
post_build:
commands:
- aws s3 cp dist s3://${S3_BUCKET} --recursive
。将构建输出复制到目标S3 Bucket
。
这一切都很好用,但是这假设 S3 存储桶已经存在。
问:哪个步骤应该负责创建目标S3 Bucket
,我应该使用什么来执行此操作?
我在想也许它应该是另一个Cloudformation
模板的CodeDeploy
在走错路之前做了一点指导:)
非常感谢。
好的,所以我想我找到了你所指的教程: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 个声誉。
祝你好运 -阿萨夫