如何将Github仓库用作CDN服务器以上传资产文件?

4
我正在学习Ruby on Rails,并且正在开发一个Rails 5应用程序。我不想使用Amazon S3服务来包含我的资产文件,而是希望使用GitHub作为像CDN一样提供资产文件的平台。
但我遇到了一个问题,我有一个动态的文件和图片上传系统。因此,当我上传我的文件和图片时,所有的文件和图片都将被上传到一个GitHub仓库中(假设我有一个名为"busket"的git仓库;所以,所有的图片和文件都将从我的服务器上传到"busket"仓库,并从Rails应用程序中提供所有的资产)。
那么,如何让GitHub像CDN一样工作呢?请帮我解决这个问题。

为什么你不想使用S3?是因为它太慢了吗(我只是问一下,因为你提到你想像CDN一样提供文件)?因为GitHub会比S3还要慢,所以这可能是一个糟糕的选择。 - spickermann
只使用 jsdelivr。 - Shai UI
4个回答

3
https://cdn.jsdelivr.net/gh/username/repository@master/file

username = Github 用户名
repository = Github 仓库名称
file = 文件实际名称


实际上,https://cdn.jsdelivr.net/gh/username/repository@master/file - Julian Knight

2
我认为将图像和常规类型的内容文件上传到GitHub以进行长期存储是一个普遍不好的想法。GitHub旨在成为Git的存储库提供者,而不是NoSQL或其他类型的数据存储。要更新GitHub中的文件,需要向特定分支提交更改。因此,每次更改图像文件时,都需要进行新的提交。这不可扩展,因为Git无法很好地处理二进制文件。
因此,如果您需要用于图像和内容文件的长期数据存储,请考虑使用专门设计的工具,例如Amazon的S3、Google Cloud Storage等类似工具。

我 echo Tim 的担忧,最好从适当的 CDN 或对象存储(如 S3/GCS)中发送此类文件。GitHub 现在支持 Git LFS,因此可以更有效地存储大型二进制文件(如图像),但这并不是最佳选择。 - Nathan Kleyn

0

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接