对AWS来说,对于CI / CD来说,这是新手。并且有一个问题:将部署React网站部署到S3存储桶。
我找到了一个包含React网络应用的Git
个回购邮件。
我已经设置了一个AWS CodePipeline
项目,该项目会轮询repo的主分支以寻找提交。
然后触发AWS CodeBuild
项目,该项目构建了buildspec.yml
在示例/教程中,我跟随buildspec.yml
进行了以下操作......
post_build:
commands:
- aws s3 cp dist s3://${S3_BUCKET} --recursive
...将构建输出复制到目标S3 Bucket
。
一切都很好,但这假设S3 Bucket已经存在。
问题:应该由哪个步骤负责创建目标S3 Bucket
以及我应该使用哪个步骤?
我认为它可能是CodeDeploy
与另一个Cloudformation
模板
在走错路线之前稍作指导之后:)
非常感谢。
答案 0 :(得分: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个声誉。
祝你好运, -Asaf