Skip to main content

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2023-01-18. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise にアップグレードします。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせく� さい

Enterprise から移行データをエクスポートする

プラットフォー� の変更、およびトライアルインスタンスから本番インスタンスに移行するには、インスタンスを準備して、リポジトリをロックし、移行アーカイブを生成することで、GitHub Enterprise Server インスタンスから移行データをエクスポートできます。

GitHub Enterprise Server ソースインスタンスを準備する

  1. GitHub Enterprise Server ソースのサイト管理者であることを確認します。 これを行う最善の方法は、インスタンスに SSH 接続できることを確認することです。

  2. GitHub Enterprise Server ソースインスタンス上での repo および admin:org スコープを使用してアクセス トークンを生成する

  3. ダウンタイ� を最小化するには、ソースインスタンスからエクスポートしたいリポジトリのリストを作成してく� さい。 各行にそれぞれのリポジトリのURLをリストアップしたテキストファイルを使えば、複数のリポジトリをエクスポートに一度に追� できます。

GitHub Enterprise Server ソースリポジトリをエクスポートする

注: リポジトリをロックすると、リポジトリへのすべての書き込みアクセスができなくなります。 ロックされたリポジトリには、新しいTeamやコラボレータを関連づけることはできません。

トライアル実行をしているなら、リポジトリをロックする必要はありません。 使用中のリポジトリからデータを移行する� �合、GitHub はリポジトリをロックすることを強くお勧めします。 詳細については、「移行について」を参照してく� さい。

  1. に SSH でアクセスします。 インスタンスが複数のノードで構成されている� �合は (高可用性や geo レプリケーションが構成されている� �合など)、プライマリ ノードに SSH 接続します。 クラスターを使用する� �合は、任意のノードに SSH 接続できます。 SSH 接続について詳しくは、「管理シェル (SSH) にアクセスする」をご覧く� さい。

    $ ssh -p 122 admin@HOSTNAME
  2. エクスポート用のリポジトリを準備するには、リポジトリの 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
  3. 入力を求められたら、GitHub Enterprise Server ユーザ名を入力します:

    Enter username authorized for migration:  admin
  4. 個人用アクセス トークンの入力を求められたら、「GitHub Enterprise Server ソース インスタンスの準備」で作成したアクセス トークンを入力します。

    Enter personal access token:  **************
  5. 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 を再利用しないでく� さい。

  6. ソース リポジトリをロックした� �合、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
  7. 同じエクスポートにさらにリポジトリを追� するには、-g フラグを指定して ghe-migrator add コマンドを使用します。 これで新しいリポジトリの URL とステップ 5 の移行 GUID を渡します。

    $ ghe-migrator add https://hostname/username/other_reponame -g MIGRATION_GUID --lock
  8. リポジトリの追� が完了したら、-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 です。
  9. への接続を閉じます。

    $ exit
    > logout
    > Connection to hostname closed.
  10. scp コマンドを使用して、移行アーカイブをお使いのコンピューターにコピーします。 アーカイブファイルの名前には移行GUIDが含まれます。

    $ scp -P 122 admin@hostname:/data/github/current/tmp/MIGRATION_GUID.tar.gz ~/Desktop
  11. GitHub Enterprise Server インスタンスにインポートするためにアーカイブされた移行データを準備するには、「Enterprise へのデータ移行の準備」を参照してく� さい。