記事のバージョン: Enterprise Server 2.17
移行コンフリクトの解決もしくはカスタムマッピングのセットアップ
移行データをインポートする前に、コンフリクトを解決するために修正をしたり、入力レコードの名前を変えたり、入力レコードを既存のレコードにマップしたりできます。
コンフリクトを解決したり、移行にカスタムマッピングを追加したりするために、以下のステップが利用できます。
コンフリクトの解決
ghe-migratorが正しくない変更を行うと考えられるときは、conflicts.csv内でデータを変更することによって修正をかけられます。 conflicts.csv内の任意の行を変更できます。
たとえばソースのoctocatユーザがターゲットのoctocatにマップされていることに気づいたとしましょう。
| model_name | source_url | target_url | recommended_action | 
|---|---|---|---|
| ユーザ | https://example-gh.source/octocat | https://example-gh.target/octocat | map | 
このユーザをターゲット上の他のユーザにマップさせることができます。 octocatが実際にはターゲットのmonalisaだということを知っているとしましょう。 conflicts.csvの target_urlをmonalisaを指すように変更できます。
| model_name | source_url | target_url | recommended_action | 
|---|---|---|---|
| ユーザ | https://example-gh.source/octocat | https://example-gh.target/monalisa | map | 
もう1つの例として、もしもocto-org/widgetsリポジトリをターゲットインスタンス上ではocto-org/amazing-widgetsに名前を変えたいとすれば、target_urlをocto-org/amazing-widgetsに、recommend_actionをrenameに変更してください。
| model_name | source_url | target_url | recommended_action | 
|---|---|---|---|
| リポジトリ | https://example-gh.source/octo-org/widgets | https://example-gh.target/octo-org/amazing-widgets | rename | 
カスタムマッピングの追加
移行における一般的なシナリオは、移行されたユーザがターゲット上ではソース上とは異なるユーザ名を持つことです。
ソースのユーザ名のリストとターゲットのユーザー名のリストがあれば、カスタムマッピングのCSVファイルを構築し、各ユーザのユーザ名とコンテンツが移行の終了時点で正しく割り当てられているようにそのファイルを適用できます。
ghe-migrator auditを使えば、カスタムマッピングを適用するのに必要なCSV形式で、移行されるユーザのCSVを素早く生成できます。
$ ghe-migrator audit -m user -g MIGRATION_GUID > users.csvこれで、このCSVを編集してマップあるいは名前を変更したい各ユーザに新しいURLを入力し、4番目の列をmapあるいはrenameを適切に更新できます。
たとえばユーザoctocatの名前をターゲットhttps://example-gh.target上でmonalisaに変更したいのであれば、以下の内容の行を作成します。
| model_name | source_url | target_url | 状態 | 
|---|---|---|---|
| ユーザ | https://example-gh.source/octocat | https://example-gh.target/monalisa | rename | 
同じプロセスは、カスタムマッピングをサポートする各レコードのマッピングを作成するために使うことができます。 詳しい情報についてはレコードに可能なマッピング上のテーブルを参照してください。
修正された移行データの適用
- 
変更を加えた後、修正された conflicts.csv (または適切な形式のその他のマッピング CSV) を scpコマンドを使ってターゲットインスタンスに適用します。$ scp -P 122 ~/Desktop/conflicts.csv admin@hostname:/home/admin/
- 
修正された CSV ファイルへのパスと移行 GUID を渡して、 ghe-migrator mapを使い、移行データを再マップします。$ ghe-migrator map -i conflicts.csv -g MIGRATION_GUID
- 
ghe-migrator map -i conflicts.csv -g MIGRATION_GUIDがまだコンフリクトがあると報告してきた場合、移行のコンフリクト解決のプロセスをもう一度行ってください。