git - 如何设置中间 git 服务器?这是否可取?

标签 git github circleci great-firewall-of-china

现状

我的团队位于新加坡。出于速度原因,我们需要在中国境内安装一个 Django 网络应用程序,以便企业客户端使用内网。

enter image description here

所以我们就这样做了。

怎么了?

git 克隆非常慢,我们的文件 > 50 mb。

你尝试了什么?

我正在考虑在香港设置一个中间服务器,以减少 git clone 的延迟。

enter image description here

也许图表有点偏离。

我们使用了 CircleCI。我认为我们可以让 CircleCI 具有以下设置。

Whenever GitHub received an update on the master branch of our repo, the HongKong server will pull the latest master branch copy down.

对于中国服务器,我想我可以将它配置为每天在一些非高峰时间使用 cronjob 执行 git pull。

那么你的问题是什么?

我可以像这样很容易地通过谷歌搜索 git 设置步骤 https://git-scm.com/book/en/v1/Git-on-the-Server-Setting-Up-the-Server

我担心的是我的上述方法是否有意义。

如果它有意义,那么我的问题是我如何配置 CircleCI 来做 那个?

我们在 CircleCi 方面的团队经验仅限于让它与 GitHub 和 Heroku 一起工作。我们从未将它与 GitHub 和我们将在其上运行的独立服务器一起使用。

最佳答案

您可以在中国服务器中使用浅克隆来提高 git clone 的性能。

例如,如果您只需要最后一个版本:

git clone --depth 1 <repository-url>

你说你的文件 > 50 MB,所以如果有很多文件,克隆仍然需要一点时间,但至少你只下载了一次。

关于git - 如何设置中间 git 服务器?这是否可取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39632596/

相关文章:

mysql - 如何配置circle.yml以调用数据库?

git - 列出 git 存储库中任何分支中曾经存在的所有文件

git - 如何查看在 git 上创建多个文件的日期?

GIT:获取单声道 repo 中特定路径的提交

GIT:查找文件列表(例如使用 git ls-files),包括子模块

python - 安装成功后CircleCI python模块导入报错

android - CircleCI 无法接受 Android SDK 平台 27 的许可

git - 发生冲突时如何强制 merge 成功?

git - 在部署之前在 docker 中运行测试的最佳方法是什么

git - 在 git 中追加某些文件的更改