目前我正在使用S3和CloudFront来托管静态角色应用程序 .
我想在每次进行部署时对应用程序进行版本控制,以确保轻松回滚(通过我的命令行工具或自动管道) .
我的S3桶看起来像这样:
/production/v1.2
/production/v1.3
/production/v1.4
下一步部署将在/production/v1.5文件夹中,依此类推 .
我想使用这个策略,以便在回滚的情况下我只是指向从旧版本/production/v1.4加载的网站 .
-
我的第一个解决方案是更新CloudFront配置Origin Path以指向新文件夹,例如
/production/v1.4
-
如果是回滚,我只需将CloudFront配置源路径更新为
/production/v1.3
第二个解决方案,我想有一个实时/文件夹,并有一个CloudFront Origin Path指向S3中的live / index.html文件夹,并复制我的应用程序的最新版本或每次复制回滚版本而不更改CloudFront Origin Path :
/production/v1.2
/production/v1.3
/production/v1.4
/production/live
-
在
/production/v1.4
和/production/live
中部署新版本 -
如果是回滚,只需将
/production/v1.3
复制到/production/live
考虑到通过cli和缓存失效更新CloudFront distrubution设置并不容易:
您有什么推荐的吗?有没有更好的方法来处理这种情况?