CSDN CODE CHINA 《Github 加速计划》
《Github 加速计划》通过 mirror 镜像仓库来同步 github 上的开源项目,以解决国内用户访问 github 速度较慢的问题,在 clone 项目方面,相较于 github 正常的访问速度 20 kb/s ,从 CODEChina Mirrors 镜像仓库 clone 项目可以达到 1MB/s,将近有 50 倍左右的提升。
镜像仓库中的项目目前同步频率约为 1次/天,已经镜像的项目列表参考 Mirros组织。
如何添加新的镜像仓库
如果您有新的仓库需要从 github 镜像到 CODEChina 上,您只需要在 镜像设置 仓库中 fork 一份项目并创建一个您自己的分支,同时按照如下格式创建好相应的文件并向源项目提交合并请求即可,在我们 Review 完您的代码,并接受您的合并请求之后,系统将会自动开始导入并同步您所提交的仓库。
graph TD
A[A:开源项目] --> B((Fork))
B --> B1[B: Fork项目]
B1 --> C[创建 imports.yml]
C --> D[向A创建 merge request]
D --> D1((Review<br/>Merged))
D1 --> E[向 Mirros 中导入 yaml文件中配置的项目]
E --> F(导入成功)
同步项目配置
如果您需要新增一个/多个 项目的 mirror,您需要创建一个 imports.yml
的配置文件,推送到 镜像设置 仓库中并提交合并请求即可,以下是 imports.yml
配置文件的模板内容,请参考以下格式来创建配置文件。
group:
name: alibaba
descripition: ''
projects:
- name: p3c
description: ''
mirrorRelease: false
topic: ''
- name: arthas
description: ''
mirrorRelease: false
topic: agent,alibaba,arthas,classloader,diagnosis,java,jvm,trace,trouble-shooting
- name: fastjson
description: ''
mirrorRelease: false
topic: android,best-performance,deserialization,fastjson,java,json,json-parser,json-serialization,json-serializer,serialization
其中:
Group 设置
-
group
是指需要 mirror 项目在 github 项目中的namespace
(支持组织或个人的项目),例如:arthas
项目的 github 项目地址为https://github.com/alibaba/arthas
,则其group:name
就设置为alibaba
;同样的,对于个人的项目https://github.com/xiongjiamu/arthas
,则group:name
就设置为xiongjiamu
即可; -
description
是指 组织/个人 的简介,可以为空,填写后会被作为mirrors
下对应子组织的组织简介;
注:一个
imports.yml
配置文件中只支持配置一个group
,如果需要同步 mirror 的项目属于多个组/用户,则请创建并提交多个配置文件
Project 设置
与 group
设置不同,在 imports.yml
配置文件中,支持添加多个项目文件的配置。
-
project name
是指需要 mirror 项目在 github 地址中namespace
后跟随的完整内容,不可为空,例如:arthas
项目的 github 项目地址为https://github.com/alibaba/arthas
,则其project:name
就设置为alibaba
;同样的,对于个人的项目https://github.com/xiongjiamu/arthas-2
,则group:name
就设置为arthas-2
即可; -
description
是指项目的简介,可以为空,填写后会被作为同步后项目的项目简介; -
mirrorRelease
是指是否需要同步 mirror 项目的 Release 附件,默认为 false(目前该功能还在开发中……) -
topic
是指项目的话题,可以为空,如果是多个则请用英文逗号,
分割开,填写后会被作为同步后项目的 Topic 信息显示在项目主页中;