【发布时间】:2017-09-04 07:09:05
【问题描述】:
我在 S3 存储桶中有一个站点,配置为用于 Web 访问,每次我推送特定的 git 存储库时我都会为此运行 aws s3 sync 命令(我目前正在使用 Gitlab)。
因此,如果我推送到 stable 分支,Gitlab 运行器会执行 npm start build 命令来构建站点,然后 aws s3 sync 以同步到特定存储桶。
我想迁移到 CodeCommit 并使用纯 AWS 工具来做同样的事情。
到目前为止,我能够成功设置存储库,创建一个 CodeBuild 用于构建工件,并且该工件被存储(未部署)到 S3 存储桶.不同之处在于我无法将其部署到存储桶的根文件夹而不是子文件夹,似乎该过程不是为此而设计的。由于网络访问的配置方式,我需要它位于根文件夹中。
对于部署过程,我查看了 CodeDeploy,但它实际上并没有让我部署到 S3 存储桶,它只使用存储桶作为部署到 EC2 实例的中介。到目前为止,我觉得 CodeDeploy 仅对涉及 EC2 的部署有用。
This tutorial 与我的要求相似,使用 CodePipeline 和 CodeBuild,但部署步骤实际上是 aws s3 sync 命令(与我在Gitlab),CodePipeline 上的实际部署步骤已禁用。
我正在寻找一种解决方案,该解决方案涉及使用为此特定目的而设计的 AWS 功能,但我找不到任何解决方案。
我也知道 LambCI,但在我看来,CodePipeline / CodeBuild 正在做什么,存储工件(不部署到桶)。另外,我正在寻找一种不需要我学习或部署新配置文件(AWS 配置文件之外)的选项。
这在 AWS 功能的当前状态下是否可行?
【问题讨论】:
标签: amazon-web-services amazon-s3 aws-codepipeline aws-codecommit aws-codebuild