首页 > 解决方案 > 使用 S3 和 Cloudfront 的静态 Web 应用程序版本控制

问题描述

目前我正在使用 S3 和 CloudFront 来托管静态 Angular 应用程序。

我想在每次部署时对应用程序进行版本控制,以确保轻松回滚(通过我的命令行工具或自动管道)。

我的 S3 存储桶看起来像这样:

/production/v1.2
/production/v1.3
/production/v1.4

下一次部署将在文件夹 /production/v1.5 中,依此类推。

我想使用这种策略,以便在回滚的情况下,我只需将网站指向从旧版本 /production/v1.4 加载。


第二种解决方案是我想有一个 live/ 文件夹并有一个 CloudFront 原始路径指向 S3 中的 live/index.html 文件夹,并在那里复制我的应用程序的最后一个版本或每次都复制回滚版本而不更改 CloudFront 原始路径:

/production/v1.2
/production/v1.3
/production/v1.4
/production/live

考虑到通过 cli 和缓存失效更新 CloudFront 分发设置并不容易:

你有什么建议吗?有没有更好的方法来处理这种情况?

标签: angularamazon-s3staticamazon-cloudfront

解决方案


根据您的要求,我创建了 python 库,该库负责为回滚操作创建部署和备份文件夹。它还包括 CloudFront 缓存失效。

https://github.com/aviboy2006/angular-upload-s3cf


推荐阅读