{"meta":{"title":"GitHub Enterprise Server からの移行データのエクスポート","intro":"プラットフォームを変更したり、試用版インスタンスから運用インスタンスに移行したりするには、インスタンスを準備し、リポジトリをロックし、移行アーカイブを生成することで、 GitHub Enterprise Server インスタンスから移行データをエクスポートできます。","product":"移行","breadcrumbs":[{"href":"/ja/migrations","title":"移行"},{"href":"/ja/migrations/using-ghe-migrator","title":"ghe-migrator"},{"href":"/ja/migrations/using-ghe-migrator/exporting-migration-data-from-github-enterprise-server","title":"GHES からエクスポートする"}],"documentType":"article"},"body":"# GitHub Enterprise Server からの移行データのエクスポート\n\nプラットフォームを変更したり、試用版インスタンスから運用インスタンスに移行したりするには、インスタンスを準備し、リポジトリをロックし、移行アーカイブを生成することで、 GitHub Enterprise Server インスタンスから移行データをエクスポートできます。\n\n## GitHub Enterprise Server ソース インスタンスの準備\n\n1. GitHub Enterprise Server ソースのサイト管理者であることを確認します。 これを行う最善の方法は、[インスタンスに SSH 接続](/ja/enterprise-server@3.22/admin/administering-your-instance/administering-your-instance-from-the-command-line/accessing-the-administrative-shell-ssh)できることを確認することです。\n\n2. [\n   ](/ja/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) と `repo` のスコープを持つ`admin:org`\n   GitHub Enterprise Server ソース インスタンス上の  。\n\n3. ダウンタイムを最小化するには、ソースインスタンスからエクスポートしたいリポジトリのリストを作成してください。 各行にそれぞれのリポジトリのURLをリストアップしたテキストファイルを使えば、複数のリポジトリをエクスポートに一度に追加できます。\n\n## GitHub Enterprise Server ソース リポジトリのエクスポート\n\n> \\[!NOTE]\n> リポジトリをロックすると、リポジトリへのすべての書き込みアクセスができなくなります。 ロックされたリポジトリには、新しいTeamやコラボレータを関連づけることはできません。\n>\n> トライアル実行をしているなら、リポジトリをロックする必要はありません。 使用中のリポジトリからデータを移行する場合、GitHub はリポジトリをロックすることを強くお勧めします。 詳しくは、「[ghe-migrator について](/ja/migrations/using-ghe-migrator/about-ghe-migrator#types-of-migrations)」をご覧ください。\n\n1. GitHub.comに SSH 接続します。 インスタンスが複数のノードで構成されている場合は (高可用性や geo レプリケーションが構成されている場合など)、プライマリ ノードに SSH 接続します。 クラスターを使用する場合は、任意のノードに SSH 接続できます。 HOSTNAME をインスタンスのホスト名、またはノードのホスト名または IP アドレスに置き換えます。 詳しくは、「[管理シェル (SSH) にアクセスする](/ja/enterprise-server@3.22/admin/administering-your-instance/administering-your-instance-from-the-command-line/accessing-the-administrative-shell-ssh)」をご覧ください。\n\n   ```shell copy\n   ssh -p 122 admin@HOSTNAME\n   ```\n\n2. エクスポート用のリポジトリを準備するには、リポジトリの URL を指定して `ghe-migrator add` コマンドを使用します。\n   * リポジトリをロックしている場合は、このコマンドに `--lock` を追加します。 テスト実行を行っている場合は、`--lock` は必要ありません。\n\n     ```shell\n     ghe-migrator add https://HOSTNAME/USERNAME/REPO-NAME --lock\n     ```\n\n   * 添付ファイルを除外するには、このコマンドに `--exclude_attachments` を追加します。 添付ファイルは大きくなる場合があり、最終的なマイグレーションアーカイブを不必要に膨らませてしまう場合があります。\n\n   * エクスポート用に一度に複数のリポジトリを準備するには、各リポジトリ URL を 1 行ずつ記載したテキスト ファイルを作成し、`ghe-migrator add` フラグとそのテキスト ファイルのパスを指定して `-i` コマンドを実行します。\n\n     ```shell\n     ghe-migrator add -i PATH/TO/YOUR/REPOSITORY_URL.txt\n     ```\n\n3. メッセージが表示されたら、 GitHub Enterprise Server ユーザー名を入力します。\n\n   ```shell\n   Enter username authorized for migration:  admin\n   ```\n\n4. personal access tokenの入力を求められたら、「GitHub Enterprise Server[ソース インスタンスの準備](#preparing-the-github-enterprise-server-source-instance)」で作成したアクセス トークンを入力します。\n\n   ```shell\n   Enter personal access token:  **************\n   ```\n\n5. `ghe-migrator add` が終了すると、このエクスポートを識別するために生成された一意の \"移行 GUID\" と、エクスポートに追加されたリソースのリストが出力されます。 後続の `ghe-migrator add` および `ghe-migrator export` の手順で生成された移行 GUID を使用して、`ghe-migrator` に同じエクスポートでの操作を続行するように指示します。\n\n   ```shell\n   > 101 models added to export\n   > Migration GUID: EXAMPLE-MIGRATION-GUID\n   > Number of records in this migration:\n   > users                        |  5\n   > organizations                |  1\n   > repositories                 |  1\n   > teams                        |  3\n   > protected_branches           |  1\n   > pull_request_reviews         |  1\n   > milestones                   |  1\n   > issues                       |  3\n   > pull_requests                |  5\n   > pull_request_review_comments |  4\n   > commit_comments              |  2\n   > issue_comments               | 10\n   > issue_events                 | 63\n   > releases                     |  3\n   > attachments                  |  4\n   > projects                     |  2\n   ```\n\n   既存の移行GUIDに対して新しいリポジトリを追加するたびに、既存のエクスポートが更新されます。 移行 GUID なしで `ghe-migrator add` を再度実行すると、新しいエクスポートが開始され、新しい移行 GUID が生成されます。\n   **インポート用の移行の準備を開始するときに、エクスポート中に生成された移行 GUID を再利用しないでください。**\n\n6. 同じエクスポートにさらにリポジトリを追加するには、`ghe-migrator add` フラグを指定して `-g` コマンドを使用します。 これで新しいリポジトリの URL とステップ 5 の移行 GUID を渡します。\n\n   ```shell\n   ghe-migrator add https://HOSTNAME/USERNAME/OTHER-REPO-NAME -g MIGRATION-GUID --lock\n   ```\n\n7. リポジトリの追加が完了したら、`ghe-migrator export` フラグと手順 5 の移行 GUID を指定した `-g` コマンドを使用して移行アーカイブを生成します。\n\n   ```shell\n   $ ghe-migrator export -g MIGRATION-GUID\n   > Archive saved to: /data/github/current/tmp/MIGRATION-GUID.tar.gz\n   ```\n\n   * 移行ファイルをステージングする場所を指定するには、`--staging-path=/full/staging/path` を使用してコマンドを追加します。 既定値は `/data/user/tmp` です。\n\n8. GitHub.comへの接続を閉じます。\n\n   ```shell\n   $ exit\n   > logout\n   > Connection to HOSTNAME closed.\n   ```\n\n9. [\n   `scp`\n   ](https://acloudguru.com/blog/engineering/ssh-and-scp-howto-tips-tricks#scp) コマンドを使用して、移行アーカイブをお使いのコンピューターにコピーします。 アーカイブファイルの名前には移行GUIDが含まれます。\n\n   ```shell\n   scp -P 122 admin@HOSTNAME:/data/github/current/tmp/MIGRATION-GUID.tar.gz ~/Desktop\n   ```\n\n10. GitHub Enterprise Server インスタンスにインポートするためにアーカイブされた移行データを準備するには、「[GitHub Enterprise Server へのデータの移行](/ja/migrations/using-ghe-migrator/migrating-data-to-github-enterprise-server#preparing-the-migrated-data)」を参照してください。"}