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

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

Migrating data to your enterprise

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

ここには以下の内容があります:

インポートしたデータを GitHub Enterprise Server に適用する

  1. サイトアドミンとしてターゲットのGitHub Enterprise ServerインスタンスにSSHでアクセスしてください。

    $ ssh -p 122 admin@HOSTNAME
  2. ghe-migrator importコマンドを使ってインポートのプロセスを開始してください。 以下が必要です:

    • 移行 GUID.
    • Your personal access token for authentication. The personal access token that you use is only for authentication as a site administrator, and does not require any specific scope. 詳しい情報については、「個人アクセストークンを作成する」を参照してください。
    $ 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 はすべてのレコードを返します。 また、以下の条件でレコードをフィルタリングすることもできます。

  • レコードのタイプ。
  • レコードの状態。

レコードタイプは移行データにあるものとマッチします。

レコードタイプのフィルタ

レコードタイプフィルタ名
ユーザユーザ
OrganizationOrganization
リポジトリリポジトリ
TeamTeam
マイルストーンマイルストーン
プロジェクトボードproject
問題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 Premium Supportに連絡してください。

GitHub Enterprise Server でインポートを完了する

After your migration is applied to your target instance and you have reviewed the migration, you''ll unlock the repositories and delete them off the source. ソースデータを削除する前に、すべてが期待どおりに機能していることを確認するため2週間ほど待つことをおすすめします。

ターゲットインスタンス上でのリポジトリのアンロック

  1. your GitHub Enterprise Server instanceにSSHでアクセスしてください。
    $ ssh -p 122 admin@HOSTNAME
  2. 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 インスタンスからリポジトリをアンロックする

  1. your GitHub Enterprise Server instanceにSSHでアクセスしてください。
    $ ssh -p 122 admin@HOSTNAME
  2. ghe-migrator unlockコマンドでインポートされたすべてのリポジトリをアンロックしてください。 移行GUIDが必要になります。
    $ ghe-migrator unlock -g MIGRATION_GUID
    > Unlocked octo-org/octo-project