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