GitHub Enterprise Server ソースインスタンスを準備する
-
GitHub Enterprise Server ソースのサイト管理者であることを確認します。 これを行う最善の方法は、インスタンスに SSH 接続できることを確認することです。
-
GitHub Enterprise Server ソースインスタンス上での
repo
およびadmin:org
スコープを使用してアクセス トークンを生成する。 -
ダウンタイ� を最小化するには、ソースインスタンスからエクスポートしたいリポジトリのリストを作成してく� さい。 各行にそれぞれのリポジトリのURLをリストアップしたテキストファイルを使えば、複数のリポジトリをエクスポートに一度に追� できます。
GitHub Enterprise Server ソースリポジトリをエクスポートする
注: リポジトリをロックすると、リポジトリへのすべての書き込みアクセスができなくなります。 ロックされたリポジトリには、新しいTeamやコラボレータを関連づけることはできません。
トライアル実行をしているなら、リポジトリをロックする必要はありません。 使用中のリポジトリからデータを移行する� �合、GitHub はリポジトリをロックすることを強くお勧めします。 詳細については、「移行について」を参照してく� さい。
-
に SSH でアクセスします。 インスタンスが複数のノードで構成されている� �合は (高可用性や geo レプリケーションが構成されている� �合など)、プライマリ ノードに SSH 接続します。 クラスターを使用する� �合は、任意のノードに SSH 接続できます。 SSH 接続について詳しくは、「管理シェル (SSH) にアクセスする」をご覧く� さい。
$ ssh -p 122 admin@HOSTNAME
-
エクスポート用のリポジトリを準備するには、リポジトリの URL を指定して
ghe-migrator add
コマンドを使用します。- リポジトリをロックしている� �合は、このコマンドに
--lock
を追� します。 テスト実行を行っている� �合は、--lock
は必要ありません。$ ghe-migrator add https://hostname/username/reponame --lock
- 添付ファイルを除外するには、このコマンドに
--exclude_attachments
を追� します。 添付ファイルは大きくなる� �合があり、最終的なマイグレーションアーカイブを不必要に膨らませてしまう� �合があります。 - エクスポート用に一度に複数のリポジトリを準備するには、各リポジトリ URL を 1 行ずつ記載したテキスト ファイルを作成し、
-i
フラグとそのテキスト ファイルのパスを指定してghe-migrator add
コマンドを実行します。$ ghe-migrator add -i PATH/TO/YOUR/REPOSITORY_URLS.txt
- リポジトリをロックしている� �合は、このコマンドに
-
入力を求められたら、GitHub Enterprise Server ユーザ名を入力します:
Enter username authorized for migration: admin
-
個人用アクセス トークンの入力を求められたら、「GitHub Enterprise Server ソース インスタンスの準備」で作成したアクセス トークンを入力します。
Enter personal access token: **************
-
ghe-migrator add
が終了すると、このエクスポートを識別するために生成された一意の "移行 GUID" と、エクスポートに追� されたリソースのリストが出力されます。 後続のghe-migrator add
およびghe-migrator export
の手� �で生成された移行 GUID を使用して、ghe-migrator
に同じエクスポートでの操作を続行するように指示します。> 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 なしで
ghe-migrator add
を再度実行すると、新しいエクスポートが開始され、新しい移行 GUID が生成されます。 インポート用の移行の準備を開始するときに、エクスポート中に生成された移行 GUID を再利用しないでく� さい。 -
ソース リポジトリをロックした� �合、
ghe-migrator target_url
コマンドを使ってリポジトリの新しい� �所へリンクするカスタ� のロック メッセージをリポジトリのページに設定できます。 ソースリポジトリのURL、ターゲットリポジトリのURL、そしてステップ5の移行GUIDを渡してく� さい。$ ghe-migrator target_url https://hostname/username/reponame https://target_hostname/target_username/target_reponame -g MIGRATION_GUID
-
同じエクスポートにさらにリポジトリを追� するには、
-g
フラグを指定してghe-migrator add
コマンドを使用します。 これで新しいリポジトリの URL とステップ 5 の移行 GUID を渡します。$ ghe-migrator add https://hostname/username/other_reponame -g MIGRATION_GUID --lock
-
リポジトリの追� が完了したら、
-g
フラグと手� � 5 の移行 GUID を指定したghe-migrator export
コマンドを使用して移行アーカイブを生成します。$ 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
です。
- 移行ファイルをステージングする� �所を指定するには、
-
への接続を閉じます。
$ exit > logout > Connection to hostname closed.
-
scp
コマンドを使用して、移行アーカイブをお使いのコンピューターにコピーします。 アーカイブファイルの名前には移行GUIDが含まれます。$ scp -P 122 admin@hostname:/data/github/current/tmp/MIGRATION_GUID.tar.gz ~/Desktop
-
GitHub Enterprise Server インスタンスにインポートするためにアーカイブされた移行データを準備するには、「Enterprise へのデータ移行の準備」を参照してく� さい。