GitHub Enterprise Importer
を使った Organization の移行について
GitHub Enterprise Cloud への移行には、GitHub.com のアカウント間での移行のほか、データ所在地が を採用している場合はエンタープライズの GHE.com のサブドメインへの移行も含まれます。
GitHub CLI または API を使って、移行を実行できます。
GitHub CLI を使うと移行プロセスが簡単になるので、ほとんどのお客様に推奨されます。 カスタマイズのニーズが高い熟練したお客様は、API を使って、GitHub Enterprise Importer との独自の統合を構築できます。
前提条件
- 移行の試験的実行を行い、そのすぐ後で運用環境の移行を完了することを強くお勧めします。 試験的実行の詳細については、「GitHub 製品間の移行に関する概要」を参照してください。
- 移行されるデータと、Importer の既知のサポート制限事項を理解していることを確認します。詳細については、「GitHub 製品間の移行について」を参照してください。
- 必須ではありませんが、運用環境の移行の間は作業を停止することをお勧めします。 Importer は差分移行をサポートしていないため、移行中に発生した変更は移行されません。 運用環境の移行の間に作業を停止しない場合は、これらの変更を手動で移行する必要があります。
- 移行元の Organization に関して、Organization 所有者であるか、移行者ロールが付与されている必要があります。 詳しくは、「GitHub 製品間の移行のためのアクセスの管理」をご覧ください。
- 移行先 Enterprise アカウントに関して、Enterprise 所有者である必要があります。
手順 1: GEI extension of the GitHub CLI
をインストールする
これが初めての移行の場合は、GEI extension of the GitHub CLI をインストールする必要があります。 GitHub CLI の詳細については、「GitHub CLI について」を参照してください。
-
GitHub CLI をインストールします。 GitHub CLI のインストール手順については、GitHub CLI リポジトリを参照してください。
Note
GitHub CLI のバージョン 2.4.0 以降が必要です。
gh --version
コマンドを使って、インストールされているバージョンを確認できます。 -
GEI extension をインストールします。
Shell gh extension install github/gh-gei
gh extension install github/gh-gei
GEI extension に関するヘルプが必要なときはいつでも、コマンドで --help
フラグを使用できます。 たとえば、gh gei --help
とすると使用可能なすべてのコマンドの一覧が表示され、gh gei migrate-repo --help
とすると migrate-repo
コマンドで使用できるすべてのオプションの一覧が表示されます。
手順 2: GEI extension of the GitHub CLI
を更新する
GEI extension は毎週更新されます。 最新バージョンを確実に使うため、拡張機能を更新してください。
gh extension upgrade github/gh-gei
手順 3: 環境変数を設定する
GEI extension を使って GitHub Enterprise Cloud に移行するには、その前に、移行元の Organization と移行先の Organization にアクセスできる personal access tokens (classic) を作成してから、personal access tokens (classic) を環境変数として設定する必要があります。
-
Organization 移行のために移行元 Organization を認証するすべての要件を満たす personal access token を作成し、記録します。 詳しくは、「GitHub 製品間の移行のためのアクセスの管理」をご覧ください。
-
Organization 移行のために移行先 Enterprise を認証するすべての要件を満たす personal access token (classic) を作成し、記録します。
-
personal access tokens (classic) に対する環境変数を設定します。次のコマンドの TOKEN は、上で記録した personal access tokens (classic) に置き換えます。 移行先の Enterprise には
GH_PAT
を使い、移行元の Organization にはGH_SOURCE_PAT
を使います。-
ターミナルを使っている場合は、
export
コマンドを使います。Shell export GH_PAT="TOKEN" export GH_SOURCE_PAT="TOKEN"
export GH_PAT="TOKEN" export GH_SOURCE_PAT="TOKEN"
-
PowerShell を使っている場合は、
$env
コマンドを使います。Shell $env:GH_PAT="TOKEN" $env:GH_SOURCE_PAT="TOKEN"
$env:GH_PAT="TOKEN" $env:GH_SOURCE_PAT="TOKEN"
-
-
データ所在地付き GitHub Enterprise Cloud に移行する場合は、便宜上、エンタープライズのベース API URL の環境変数を設定します。 次に例を示します。
Shell export TARGET_API_URL="https://api.octocorp.ghe.com"
export TARGET_API_URL="https://api.octocorp.ghe.com"
この変数は、GitHub CLI で実行するコマンドの
--target-api-url
オプションと共に使用します。
手順 4: Organization を移行する
Organization を移行するには、gh gei migrate-org
コマンドを使用します。
gh gei migrate-org --github-source-org SOURCE --github-target-org DESTINATION --github-target-enterprise ENTERPRISE
gh gei migrate-org --github-source-org SOURCE --github-target-org DESTINATION --github-target-enterprise ENTERPRISE
Note
GHE.com に移行する場合は、--target-api-url TARGET-API-URL
を追加します。TARGET-API-URL は Enterprise のサブドメインのベース API URL です。 (例: https://api.octocorp.ghe.com
)。
上のコマンドのプレースホルダーを次の値に置き換えます。
プレースホルダー | 値 |
---|---|
SOURCE | 移行元の Organization の名前 |
DESTINATION | 新しい Organization に付ける名前。 移行先プラットフォーム上の別の organization で共有することはできません。 |
エンタープライズ | 移行先エンタープライズのスラッグ。Enterprise アカウントの URL (https:/ または https:/ ) を調べることで識別できます。 |
手順 5: 移行を検証し、エラー ログを確認する
移行が完了したら、移行ログ リポジトリを確認することをお勧めします。 詳しくは、「GitHub Enterprise Importer の移行ログへのアクセス」をご覧ください。
最後に、Organization と移行されたリポジトリの健全性チェックを実行することをお勧めします。