Skip to main content
ドキュメントには� �繁に更新が� えられ、その都度公開されています。本ページの翻訳はま� 未完成な部分があることをご了承く� さい。最新の情� �については、英語のドキュメンテーションをご参照く� さい。本ページの翻訳に問題がある� �合はこちらまでご連絡く� さい。

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2022-06-03. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてく� さい。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してく� さい。

Enterprise へのデータ移行の準備

移行アーカイブを作成すると、ターゲットの GitHub Enterprise Server インスタンスにデータをインポートできます。 変更を恒久的にターゲットのインスタンスに適用する前に、潜在的なコンフリクトがないか変更をレビューできます。

移行したデータを GitHub Enterprise Server にインポートするための準備

  1. scp コマンドを使って、ソースインスタンスまたは Organization から生成された移行アーカイブを GitHub Enterprise Server ターゲットにコピーします:

    $ scp -P 122 /path/to/archive/MIGRATION_GUID.tar.gz admin@hostname:/home/admin/
  2. サイトアドミンとしてターゲットのGitHub Enterprise ServerインスタンスにSSHでアクセスしてく� さい。

    $ ssh -p 122 admin@HOSTNAME
  3. ghe-migrator prepare コマンドを使ってターゲットインスタンスにインポートするためのアーカイブを準備し、次のステップで使用する新たな移行 GUID を生成します。

    ghe-migrator prepare /home/admin/MIGRATION_GUID.tar.gz
    • 新たにインポートを試みるには、再び ghe-migrator prepare を実行して、新しい Migration GUID を取得します。
    • マイグレーションファイルをステージングする� �所を指定するには、コマンドの末尾に--staging-path=/full/staging/pathを追� してく� さい。 デフォルトは/data/user/tmpです。

移行のコンフリクトのリストの生成

  1. ghe-migrator conflicts コマンドに移行 GUID を付けて実行し、conflicts.csv ファイルを生成します。
    $ ghe-migrator conflicts -g MIGRATION_GUID > conflicts.csv
  2. コンフリクトがある� �合は、scp コマンドを使って conflicts.csv をローカルコンピュータにコピーします。
    $ scp -P 122 admin@hostname:conflicts.csv ~/Desktop
  3. 移行コンフリクトの解決もしくはカスタ� マッピングのセットアップ」に進みます。

移行コンフリクトのレビュー

  1. テキストエディタもしくはCSV互換のスプレッドシートソフトウェアを使ってconflicts.csvをオープンしてく� さい。
  2. 以下の例とリファレンスのガイダンスと共にconflicts.csvファイルをレビューし、インポートの際に適切なアクションが取られることを確認してく� さい。

conflicts.csvファイルには、コンフリクトの移行マップと推奨アクションが含まれています。 移行マップは、ソースから移行されるデータと、そのデータがどのようにターゲットに適用されるかのリストです。

model_namesource_urltarget_urlrecommended_action
ユーザhttps://example-gh.source/octocathttps://example-gh.target/octocatmap
Organizationhttps://example-gh.source/octo-orghttps://example-gh.target/octo-orgmap
リポジトリhttps://example-gh.source/octo-org/widgetshttps://example-gh.target/octo-org/widgetsrename
Teamhttps://example-gh.source/orgs/octo-org/teams/adminshttps://example-gh.target/orgs/octo-org/teams/adminsマージ

conflicts.csvの各行には以下の情� �があります。

名前説明
model_name変更されるデータの種類。
source_urlデータのソースURL。
target_url期待されるデータのターゲットURL。
recommended_actionデータをインポートする際にghe-migratorが行う推奨のアクション。

各レコードタイプで可能なマッピング

データの転送時にghe-migratorが行えるマッピングアクションは複数あります。

action説明適用可能なモデル
import(デフォルト)ソースからのデータがターゲットにインポートされます。すべてのレコードタイプ
mapソースからのデータがターゲット上の既存のデータで置き換えられます。Users、organizations、repositories
renameソースからのデータは名前が変更されてターゲットにコピーされます。Users、organizations、repositories
map_or_renameターゲットが存在する� �合、そのターゲットにマップします。 そうでない� �合はインポートされたモデルの名前を変更します。ユーザ
マージソースからのデータはターゲット上の既存のデータと組み合わされます。Team

conflicts.csv ファイルを見直し、ghe-migrator audit を使って適切なアクションがとられることを確認するよう強くお勧めします。問題がないようであれば、「Enterprise へのデータの移行」に進むことができます。

移行コンフリクトの解決もしくはカスタ� マッピングのセットアップ

ghe-migratorが正しくない変更を行うと考えられるときは、conflicts.csv内でデータを変更することによって修正をかけられます。 conflicts.csv内の任意の行を変更できます。

たとえばソースのoctocatユーザがターゲットのoctocatにマップされていることに気づいたとしましょう。

model_namesource_urltarget_urlrecommended_action
ユーザhttps://example-gh.source/octocathttps://example-gh.target/octocatmap

このユーザをターゲット上の他のユーザにマップさせることができます。 octocatが実際にはターゲットのmonalisa� ということを知っているとしましょう。 conflicts.csvtarget_urlmonalisaを指すように変更できます。

model_namesource_urltarget_urlrecommended_action
ユーザhttps://example-gh.source/octocathttps://example-gh.target/monalisamap

もう1つの例として、もしもocto-org/widgetsリポジトリをターゲットインスタンス上ではocto-org/amazing-widgetsに名前を変えたいとすれば、target_urlocto-org/amazing-widgetsに、recommend_actionrenameに変更してく� さい。

model_namesource_urltarget_urlrecommended_action
リポジトリhttps://example-gh.source/octo-org/widgetshttps://example-gh.target/octo-org/amazing-widgetsrename

カスタ� マッピングの追� 

移行における一般的なシナリオは、移行されたユーザがターゲット上ではソース上とは異なるユーザ名を持つことです。

ソースのユーザ名のリストとターゲットのユーザー名のリストがあれば、カスタ� マッピングの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_namesource_urltarget_urlstate
ユーザhttps://example-gh.source/octocathttps://example-gh.target/monalisarename

同じプロセスは、カスタ� マッピングをサポートする各レコードのマッピングを作成するために使うことができます。 詳しい情� �についてはレコードに可能なマッピング上のテーブルを参照してく� さい。

修正された移行データの適用

  1. 変更を� えた後、修正された conflicts.csv (または適切な形式のその他のマッピング .csv) を scp コマンドを使ってターゲットインスタンスに適用します。

    $ scp -P 122 ~/Desktop/conflicts.csv admin@hostname:/home/admin/
  2. 修正された .csv ファイルへのパスと移行 GUID を渡して、ghe-migrator map を使い、移行データを再マップします。

    $ ghe-migrator map -i conflicts.csv  -g MIGRATION_GUID
  3. ghe-migrator map -i conflicts.csv -g MIGRATION_GUID がま� コンフリクトがあると� �告してきた� �合、移行のコンフリクト解決のプロセスをもう一度行ってく� さい。