如何使用版本控制将 Web 库部署到 S3?

How to deploy web library to S3 with versioning?

我有一个在 JavaScript 下制作的网络库,我想自动将它部署到 Amazon S3 上的存储库,并保持版本控制。我当前的过程是手动为我正在部署的版本分配一个变量,然后将所有内容作为静态网站上传到 S3。但是,在那个过程中,我不能同时在我的存储库中保留多个版本。

我需要一种方法可以将参数作为版本传递并将所有内容部署到我的存储库。

实现这种部署的最佳方式是什么?

Amazon S3 只是一个对象存储,虽然它提供 object versioning 允许您存储同一对象的多个版本,但这不是您要找的东西,因为它旨在防止意外的后果覆盖和删除,此外,静态托管将仅服务于已提升为 current.

的同一对象的版本

你想要实现的目标可以通过简单地使用前缀来解决:

bucket_name/v1/my_library.js
bucket_name/v2/my_library.js
bucket_name/v3/my_library.js

如果您自己上传,这可以由您手动处理,或者通过跟踪最后一个版本或查询存储桶并增加计数以编程方式处理。