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

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

Enterprise にデータを移行する

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

インポートしたデータを 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.

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

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

    $ 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
IssueIssue
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週間ほど待つことをおすすめします。

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

  1. GitHub Enterprise ServerインスタンスにSSHでアクセスしてく� さい。 詳しい情� �については「管理シェル(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. GitHub Enterprise ServerインスタンスにSSHでアクセスしてく� さい。 詳しい情� �については「管理シェル(SSH)にアクセスする」を参照してく� さい。
    $ ssh -p 122 admin@HOSTNAME
  2. ghe-migrator unlockコマンドでインポートされたすべてのリポジトリをアンロックしてく� さい。 移行GUIDが必要になります。
    $ ghe-migrator unlock -g MIGRATION_GUID
    > Unlocked octo-org/octo-project