インポートしたデータを GitHub Enterprise Server に適用する
Before you can migrate data to your enterprise, you must prepare the data and resolve any conflicts. 詳しい情� �については、「Enterprise へのデータ移行を準備する」を参照してく� さい。
After you prepare the data and resolve conflicts, you can apply the imported data on GitHub Enterprise Server.
-
サイトアドミンとしてターゲットのGitHub Enterprise ServerインスタンスにSSHでアクセスしてく� さい。
$ ssh -p 122 admin@HOSTNAME -
ghe-migrator importコマンドを使ってインポートのプロセスを開始してく� さい。 以下が必要です:- 移行 GUID. 詳しい情� �については、「Enterprise へのデータ移行を準備する」を参照してく� さい。
- 認証のための個人アクセストークン。 個人アクセストークンは、サイト管理者としての認証にのみ使用され、特定のスコープは必要ありません。 詳しい情� �については、「個人アクセストークンを作成する」を参照してく� さい。
$ ghe-migrator import /home/admin/MIGRATION_GUID.tar.gz -g MIGRATION_GUID -u username -p TOKEN > Starting GitHub::Migrator > Import 100% complete /- マイグレーションファイルをステージングする� �所を指定するには、コマンドの末尾に
--staging-path=/full/staging/pathを追� してく� さい。 デフォルトは/data/user/tmpです。
移行データのレビュー
デフォルトでは、ghe-migrator audit はすべてのレコードを返します。 また、以下の条件でレコードをフィルタリングすることもできます。
- レコードのタイプ。
- レコードの状態。
レコードタイプは移行データにあるものとマッチします。
レコードタイプのフィルタ
| レコードタイプ | フィルタ名 |
|---|---|
| ユーザ | ユーザ |
| Organization | Organization |
| リポジトリ | リポジトリ |
| Team | Team |
| マイルストーン | マイルストーン |
| プロジェクトボード | project |
| Issue | Issue |
| Issueのコメント | issue_comment |
| プルリクエスト | pull_request |
| プルリクエストのレビュー | pull_request_review |
| コミットのコメント | commit_comment |
| プルリクエストのレビューのコメント | pull_request_review_comment |
| リリース | リリース |
| プルリクエストあるいはIssueに対して行われたアクション | issue_event |
| 保護されたブランチ | protected_branch |
レコードの状態フィルタ
| レコードの状態 | 説明 |
|---|---|
export | レコードはエクスポートされます。 |
import | レコードはインポートされます。 |
map | レコードはマップされます。 |
rename | レコードの名前が変更されます。 |
マージ | レコードはマージされます。 |
exported | レコードはエクスポートに成功しました。 |
imported | レコードはインポートに成功しました。 |
mapped | レコードはマップに成功しました。 |
renamed | レコードの名前の変更に成功しました。 |
merged | レコードはマージに成功しました。 |
failed_export | レコードはエクスポートに失敗しました。 |
failed_import | レコードはインポートに失敗しました。 |
failed_map | レコードはマップに失敗しました。 |
failed_rename | レコードの名前の変更に失敗しました。 |
failed_merge | レコードはマージに失敗しました。 |
監査されたレコードのフィルタリング
ghe-migrator auditでは、-mフラグを使ってレコードタイプに基づくフィルタリングができます。 同様に、-sフラグでインポートの状態に対してフィルタリングができます。 コマンドは以下のようになります。
$ ghe-migrator audit -m RECORD_TYPE -s STATE -g MIGRATION_GUID たとえば、インポートに成功したすべてのOrganizationとチー� を見るには以下のようにします。
$ ghe-migrator audit -m organization,team -s mapped,renamed -g MIGRATION_GUID > model_name,source_url,target_url,state > organization,https://gh.source/octo-org/,https://ghe.target/octo-org/,renamed 失敗したすべてのインポートを監査することを強くおすすめします。そのためには以下のようにします。
$ ghe-migrator audit -s failed_import,failed_map,failed_rename,failed_merge -g MIGRATION_GUID > model_name,source_url,target_url,state > user,https://gh.source/octocat,https://gh.target/octocat,failed > repository,https://gh.source/octo-org/octo-project,https://ghe.target/octo-org/octo-project,failed 失敗したインポートに関する懸念があるなら、GitHub Enterprise Supportに連絡してく� さい。
GitHub Enterprise Server でインポートを完了する
ターゲットインスタンスへの移行が適用され、その内容を確認したら、リポジトリのロックを解除して、ソースから削除します。 ソースデータを削除する前に、すべてが期待どおりに機能していることを確認するため2週間ほど待つことをおすすめします。
ターゲットインスタンス上でのリポジトリのアンロック
- your GitHub Enterprise Server instanceにSSHでアクセスしてく� さい。 詳しい情� �については「管理シェル(SSH)にアクセスする」を参照してく� さい。
$ ssh -p 122 admin@HOSTNAME ghe-migrator unlockコマンドでインポートされたすべてのリポジトリをアンロックしてく� さい。 移行GUIDが必要になります。$ ghe-migrator unlock -g MIGRATION_GUID > Unlocked octo-org/octo-project
ソース上でのリポジトリのアンロック
GitHub.com で Organization からリポジトリのロックを解除する
GitHub.com Organization のリポジトリをアンロックするには、DELETE リクエストを移行アンロックエンドポイントに送信します。 以下が必要です:
- 認証のためのアクセストークン
- 移行のユニーク
id - アンロックするリポジトリの名前
curl -H "Authorization: token GITHUB_ACCESS_TOKEN" -X DELETE \ -H "Accept: application/vnd.github.wyandotte-preview+json" \ https://api.github.com/orgs/orgname/migrations/id/repos/repo_name/lock
GitHub.com で Organization からリポジトリを削除する
GitHub.com Organization のリポジトリをロック解除した後、リポジトリ削除エンドポイントを使用して以前に移行したすべてのリポジトリを削除する必要があります。 認証のためのアクセストークンが必要になります。
curl -H "Authorization: token GITHUB_ACCESS_TOKEN" -X DELETE \ https://api.github.com/repos/orgname/repo_name GitHub Enterprise Server インスタンスからリポジトリをアンロックする
- your GitHub Enterprise Server instanceにSSHでアクセスしてく� さい。 詳しい情� �については「管理シェル(SSH)にアクセスする」を参照してく� さい。
$ ssh -p 122 admin@HOSTNAME ghe-migrator unlockコマンドでインポートされたすべてのリポジトリをアンロックしてく� さい。 移行GUIDが必要になります。$ ghe-migrator unlock -g MIGRATION_GUID > Unlocked octo-org/octo-project