github 存储库的本地缓存?

2024-04-24

我们使用 github 来管理我们的大量软件环境,我敢打赌,像许多其他组织一样,该存储库的绝大多数流量来自我们的办公室。考虑到这一点,有没有一种方法可以构建给定 github 存储库的本地缓存,但仍然具有云版本的保护?我在缓存代理服务器的模型中考虑这一点,其中本地服务器(大概在我们的建筑物中,在我们的本地网络上)将处理绝大多数克隆/拉取操作。

这看起来应该是可行的,但搜索这个非常困难,我认为这在很大程度上是因为“本地”和“缓存”这两个词具有超载的含义,特别是对于 git(hub) 问题。


您应该查看git-cache-http-server 项目 https://github.com/jonasmalacofilho/git-cache-http-server。我认为它部分实现了您所需要的(并且类似于@larsks 帖子中的想法)。

它是一个 NodeJS 软件,运行 HTTP 服务器,让您可以访问本地缓存的 git 存储库。服务器会在需要时自动获取上游更改。如果您使用这些本地 git 存储库而不是远程存储库,您的 git 客户端将获得本地缓存的内容。

如果您在单独的主机(例如虚拟机或容器)上运行 git-cache-http-server,则可以将本地 git 客户端配置为自动克隆并从缓存中获取,方法是将其配置为替换https://github.com与类似的东西http://gitcache/github.com。这可以通过如下配置来实现:

git config --global url."http://gitcache:1234/".insteadOf https://

目前,该软件仅提供缓存来克隆和更新存储库,没有提供推送更改的功能。对于某些用例,考虑到 CI 基础设施需要提取多个存储库的内容,即使只有一个存储库发生了变化,或者您提到的自动化测试,这可能很有用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

github 存储库的本地缓存? 的相关文章

随机推荐