准备 GitHub Enterprise Server 源实例
-
验证您在 GitHub Enterprise Server 源上是站点管理员。 执行此操作的最佳方法是验证是否可以通过 SSH 连接到实例。
-
在 GitHub Enterprise Server 源实例上生成具有
repo和admin:org作用域的访问令牌。 -
为尽量减少停机,请创建要从源实例导出的仓库列表。 您可以使用每行列出一个仓库 URL 的文本文件一次性导出多个仓库。
导出 GitHub Enterprise Server 的源仓库
注意
锁定存储库会阻止对存储库的所有写入访问。 您不能将新团队或协作者与锁定的仓库相关联。
如果您执行的试用版,则无需锁定仓库。 从正在使用的存储库迁移数据时,GitHub 强烈建议锁定存储库。 有关详细信息,请参阅“关于 ghe-migrator”。
-
通过 SSH 连接到 你的 GitHub Enterprise Server 实例。 如果实例包含多个节点,例如,如果配置了高可用性或异地复制,则通过 SSH 连接到主节点。 如果使用群集,则可以通过 SSH 连接到任何节点。 将 HOSTNAME 替换为实例的主机名,或节点的主机名或 IP 地址。 有关详细信息,请参阅“访问管理 shell (SSH)”。
Shell ssh -p 122 admin@HOSTNAME
ssh -p 122 admin@HOSTNAME -
要准备存储库以导出,请使用命令并提供存储库的 URL:
-
如果要锁定存储库,请在命令后附加 。 如果要执行试用运行,则不需要 。
ghe-migrator add https://HOSTNAME/USERNAME/REPO-NAME --lock -
可以通过将 附加到命令来排除文件附件。 文件附件可能很大,可能不必要地胀大您的最终迁移存档。
-
要一次准备多个将导出的存储库,请创建一个文本文件并在单独的行中列出每个存储库 URL,然后运行包含 标志和文本文件路径的 命令。
ghe-migrator add -i PATH/TO/YOUR/REPOSITORY_URL.txt
-
-
出现提示时,请输入您的 GitHub Enterprise Server 用户名:
Enter username authorized for migration: admin -
系统提示输入 personal access token 时,输入在“准备 GitHub Enterprise Server 源实例”中创建的访问令牌:
Enter personal access token: ************** -
在 完成后,它将打印自身生成并用于标识此导出的唯一的“迁移 GUID”以及添加到导出中的资源列表。 你将使用它在后续 和 步骤中生成的迁移 GUID,来指示 继续对同一导出进行操作。
> 101 models added to export > Migration GUID: EXAMPLE-MIGRATION-GUID > Number of records in this migration: > users | 5 > organizations | 1 > repositories | 1 > teams | 3 > protected_branches | 1 > pull_request_reviews | 1 > milestones | 1 > issues | 3 > pull_requests | 5 > pull_request_review_comments | 4 > commit_comments | 2 > issue_comments | 10 > issue_events | 63 > releases | 3 > attachments | 4 > projects | 2每次您添加包含现有迁移 GUID 的新仓库时,它都会更新现有导出。 如果在没有迁移 GUID的情况下再次运行 ,将会启动新的导出并生成新的迁移 GUID。 开始准备要导入的迁移时,不要再次使用在导出过程中生成的迁移 GUID。
-
若要将更多存储库添加到同一导出,请使用带有 标志的 命令。 您需要传入新仓库 URL 和第 5 步中的迁移 GUID:
ghe-migrator add https://HOSTNAME/USERNAME/OTHER-REPO-NAME -g MIGRATION-GUID --lock -
添加完存储库后,请使用包含 标志和第 5 步中的迁移 GUID 的 命令生成迁移存档:
$ ghe-migrator export -g MIGRATION-GUID > Archive saved to: /data/github/current/tmp/MIGRATION-GUID.tar.gz- 要指定迁移文件的暂存位置,请在命令后附加
--staging-path=/full/staging/path。 默认为/data/user/tmp。
- 要指定迁移文件的暂存位置,请在命令后附加
-
关闭与 你的 GitHub Enterprise Server 实例 的连接:
$ exit > logout > Connection to HOSTNAME closed. -
使用 命令将迁移存档复制到计算机。 存档文件将使用迁移 GUID 命名:
scp -P 122 admin@HOSTNAME:/data/github/current/tmp/MIGRATION-GUID.tar.gz ~/Desktop -
若要准备存档的迁移数据以导入到 GitHub Enterprise Server 实例中,请参阅“将数据迁移到 GitHub Enterprise Server”。