GitHub Enterprise Server ソースリポジトリをエクスポートする
ソースリポジトリをロックした後、1 つずつ、またはテキストファイル中のリポジトリ URL のリストを使用して一括でエクスポートできます。 そして、インポートプロセスのための単一の移行アーカイブを作成します。
メモ: リポジトリをロックすれば、ユーザによるリポジトリへのプッシュや、Issue、ラベル、マイルストーン、ウィキ、コメントなどのリポジトリのリソースの変更を防ぐことができます。ロックされたリポジトリには、新しい Team やコラボレーターを関連付けることはできません。
トライアル実行を行っているなら、リポジトリをロックする必要はありません。そうでない場合は、強く推奨します。詳細は「移行について」を参照してください。
-
GitHub Enterprise Server インスタンス に SSH します。
$ ssh -p 122 admin@HOSTNAME
-
エクスポートするリポジトリを準備するには、
ghe-migrator add
コマンドをリポジトリの URL と一緒に使用します:- リポジトリをロックする場合は、コマンドの末尾に
--lock
を付けます。 トライアル実行を行う場合は、--lock
は必要ありません。
$ ghe-migrator add https://hostname/username/reponame --lock
-
You can exclude file attachments by appending
--exclude_attachments
to the command. 添付ファイルは大きくなる場合があり、最終的なマイグレーションアーカイブを不必要に膨らませてしまう場合があります。 -
To prepare multiple repositories at once for export, create a text file listing each repository URL on a separate line, and run the
ghe-migrator add
command with the-i
flag and the path to your text file.$ ghe-migrator add -i PATH/TO/YOUR/REPOSITORY_URLS.txt
- リポジトリをロックする場合は、コマンドの末尾に
-
When prompted, enter your GitHub Enterprise Server username:
Enter username authorized for migration: admin
-
When prompted for a personal access token, enter the access token you created in "Preparing the GitHub Enterprise Server source instance":
Enter personal access token: **************
-
When
ghe-migrator add
has finished it will print the unique "Migration GUID" that it generated to identify this export as well as a list of the resources that were added to the export. You will use the Migration GUID that it generated in subsequentghe-migrator add
andghe-migrator export
steps to tellghe-migrator
to continue operating on the same export.> 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
Each time you add a new repository with an existing Migration GUID it will update the existing export. If you run
ghe-migrator add
again without a Migration GUID it will start a new export and generate a new Migration GUID. Do not re-use the Migration GUID generated during an export when you start preparing your migration for import. -
If you locked the source repository, you can use the
ghe-migrator target_url
command to set a custom lock message on the repository page that links to the repository's new location. Pass the source repository URL, the target repository URL, and the Migration GUID from Step 5:$ ghe-migrator target_url https://hostname/username/reponame https://target_hostname/target_username/target_reponame -g MIGRATION_GUID
-
To add more repositories to the same export, use the
ghe-migrator add
command with the-g
flag. You'll pass in the new repository URL and the Migration GUID from Step 5:$ ghe-migrator add https://hostname/username/other_reponame -g MIGRATION_GUID --lock
-
When you've finished adding repositories, generate the migration archive using the
ghe-migrator export
command with the-g
flag and the Migration GUID from Step 5:$ 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
です。
- マイグレーションファイルをステージングする場所を指定するには、コマンドの末尾に
-
Close the connection to GitHub Enterprise Server インスタンス:
$ exit > logout > Connection to hostname closed.
-
scp
コマンドを使って移行アーカイブを使用中のコンピュータにコピーしてください。 アーカイブファイルの名前には移行GUIDが含まれます。$ scp -P 122 admin@hostname:/data/github/current/tmp/MIGRATION_GUID.tar.gz ~/Desktop
-
アーカイブされたマイグレーションデータを GitHub Enterprise Server のインスタンスにインポートする方法については「GitHub Enterprise Server へのマイグレーションデータのインポート」を参照してください。