🌐 本文也提供英文版本。
如果你在使用 Nx 或 Lerna 进行单体仓库(monorepo)开发,你就会知道远程缓存几乎是一项超能力。能够在持续集成(CI)环境或同事的机器上运行构建、测试或代码检查,并将结果即时分享给团队其他成员,这能节省宝贵的流水线时间和计算资源。
要获得这一优势,标准且官方的解决方案是 Nx Cloud。这是一项出色的服务,但对于预算有限的小型团队来说可能负担较重,或者会触犯某些公司严格的数据安全政策,这些公司要求使用自托管解决方案。
如果你最近试图避免 Nx Cloud 的费用,很可能遇到了一个混乱的局面。
Nx 自托管缓存的过山车之旅
尝试在 Nx 中自托管缓存的历史就像一部连续剧。起初,社区依赖各种自行开发的工具。随后,Nx 公司(前身为 NRWL)移除了免费的开源支持,将所有功能集中到付费计划中。后来,他们又改变了主意,发布了用于自托管的官方免费软件包(包含针对文件系统、亚马逊简单存储服务(AWS S3)、谷歌云存储和微软 Azure 的插件)。
然而,最近泼来了一盆冷水:由于安全问题,Nx 突然弃用了所有官方自托管缓存软件包(你可以在 Nx 官方弃用文档 中查看详情)。
远程缓存功能在 Nx 核心中仍然存在,但社区缺乏官方且安全的工具来连接各种存储服务。为了深入理解这一曲折历程,艾米丽·熊(Emily Xiong)在 Medium 上发表的文章极其详细地阐述了缓存解决方案的历史演变。
正是在工作中经历了这种痛苦之后,我决定创建一个解决方案来填补这一空白。
介绍 Cacheiro
Cacheiro 的诞生旨在让社区重新获得以安全、现代且完全免费的方式托管自己远程缓存的自由。
在你提问之前:是的,这个名字是个玩笑!它是技术词根 Cache(缓存)与后缀 -eiro(在葡萄牙语中表示职业或从事某事的人,如 fazendeiro [农场主] 或 pedreiro [泥瓦匠])的结合。“Cacheiro”意指那些管理你缓存的人。
与其他僵化(带有强烈主观意见)的解决方案不同,Cacheiro 被设计为一个模块化库,以独立的软件包形式提供。你可以只选择并集成你需要的部分。它具有以下特点:
- 100% 自由且开源。
- 高度可扩展: 你可以根据基础设施的需求自定义逻辑。
- 适配当前生态系统: 已提供适用于文件系统(FS)和亚马逊简单存储服务(Amazon S3)的现成插件。
-
路线图为导向: 不久后,我们将推出适用于谷歌云存储(GCS)
免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。