Files
codebase-collection/同步方案.md
T

2.3 KiB
Raw Blame History

镜像同步方案(外部代码库 → git.vanusys.com)

版本:v2 · 2026-08-18 · 状态:Gitea 原生镜像已启用(astryx 已收录) 目标:把我们关注的 GitHub 等外部代码库定期镜像到 git.vanusys.com,让内部服务器(宁波、局域网等无法直连 GitHub 的环境)也能直接拉取,并在合集中用子模块统一引用。

结论:使用 Gitea 原生镜像(pull mirror)

git.vanusys.com 为 Gitea 1.27.1,服务器位于香港(154.21.200.211,可直连 GitHub)。 采用 Gitea 仓库镜像(pull mirror):Gitea 服务端按周期主动从 GitHub 拉取,不依赖任何本机定时任务。

  • 镜像仓库:VanuSystems-Mirror/facebook-astryx(private,mirror=true;镜像统一放 VanuSystems-Mirror 组织)
  • 上游:https://github.com/facebook/astryx (MIT,16k+ 提交,~666MB,含 200+ 分支)
  • 同步周期:24h(已通过 API 设置 mirror_interval)

新增镜像的标准流程(下次收录同类仓库)

  1. 调 Gitea API 创建镜像仓库(见下)。
  2. 等待首次同步完成(大仓库可能需 10~30 分钟)。
  3. 在合集中 git submodule add <内部镜像地址> <分类>/<仓库名>,提交收录。

Gitea API 创建镜像仓库(参考命令,凭据取自本机 GCM,勿回显)

POST /api/v1/repos/migrate
{
  "clone_addr": "https://github.com/<org>/<repo>",
  "repo_name": "<org>-<repo>",
  "repo_owner": "VanuSystems-Mirror",
  "mirror": true,
  "private": true,
  "description": "Mirror of <org>/<repo> (auto-sync from GitHub)",
  "mirror_interval": "24h0m0s"
}

创建后检查 mirror_interval 是否生效(PATCH /api/v1/repos/{owner}/{repo} 可补设)。 注意:迁移完成前(repo 处于 migrating 状态)无法转移/删除仓库。

备用方案:本机脚本同步(仅当 Gitea 镜像不可用时)

tools/sync-mirrors.ps1(本机)或香港服务器 cron 方式,保持可用但不再作为首选: GitHub → 本地裸镜像(mirrors/)→ git push --mirror → git.vanusys.com。

收录清单登记表

上游仓库 镜像地址 分类 同步方式 状态
https://github.com/facebook/astryx git.vanusys.com/VanuSystems-Mirror/facebook-astryx frontend Gitea pull mirror(24h) ✅ 已镜像