Skip to main content

GitHub Enterprise Server から GHE.com へのライブ マイグレーションのトラブルシューティング

移行で発生する可能性がある問題に関するアドバイス。

メモ

Enterprise Live Migrations は パブリック プレビュー であり、変更される可能性があります。

移行で問題が発生した場合は、 elm migration status --migration-id MIGRATION-ID で移行の状態を確認し、エラー情報を確認します。

地位Meaning推奨されるアクション
Created移行は作成されましたが、まだ開始されていません
          `elm migration start` を実行します。 |

| キューに登録された する | 移行が開始されるのを待っています | Wait | | エクスポート | ソースからデータがエクスポートされている | elm migration statusを用いて監視する | | プロセス | エクスポートされたデータがインポート先に取り込まれている | elm migration statusを使用して監視する | | カットオーバーの準備完了 | 最初の移行が完了し、本番環境への切り替え準備が整いました。 | 準備ができたら、次を実行します。 elm migration cutover-to-destination | | 切り替え | ソース リポジトリがロックされ、残りの変更が宛先に適用されている | モニター;状態が [完了] に切り替わります | | Completed | 移行が正常に完了しました | 宛先リポジトリを確認し、マネキンを回収する | | 失敗 | 移行で回復不能なエラーが発生しました | エラーを調査する (下記参照) | | 一時停止 | 移行が一時停止されている | 移行を再開する | | を終了した | 移行が取り消されました | N/A | | 劣化 | 宛先に到達できない | GitHub Enterprise Server アプライアンスと GHE.com の間のネットワーク接続を確認する (下記参照) |

移行の状態が "失敗" である

回復不可能なエラーによって続行できない場合、移行は 失敗 状態になります。 これは、インポートに失敗した個々のリソースとは異なります。失敗した移行は、移行自体を続行できないことを意味します。

調査するには、 elm migration status --migration-id MIGRATION-ID を実行し、応答のエラーの詳細を確認します。 各エラーには、 (Correlation ID for Support: UUID)形式の関連付け ID が含まれます。 GitHub のサポートにお問い合わせの場合は、サポート チームが調査できるように、この ID を指定します。

基になる問題を解決したら、失敗した移行を elm migration cancel --migration-id MIGRATION-ID で中止し、新しい移行を開始します。

移行の状態が「劣化」である

          **機能低下**状態は、GitHub Enterprise Server アプライアンス上の移行サービスが移行先企業に到達できないことを意味します。 移行はソース側で続行されますが、移行先の状態は不明です。

          GitHub Enterprise Server アプライアンスと GHE.com のサブドメイン間のネットワーク接続を確認してから、`elm migration status --migration-id MIGRATION-ID`をもう一度実行します。 状態の応答には、接続先との最後に成功した連絡先のタイムスタンプが含まれています。これは、接続の問題が発生している期間を評価するのに役立ちます。

一部のリソースのインポートに失敗しました

個々のリソースは、移行全体が失敗することなくインポートに失敗する可能性があります。 elm migration status --migration-id MIGRATION-IDの出力で、失敗したリソースの数を確認できます。

失敗したリソースは、すべての自動再試行が使い果たされた後にのみ表示されるため、表示されるエラーは、介入なしで解決不可能として確認されます。 状態の応答でエラーの詳細を確認します。バックフィルまたはライブ更新で失敗した各リソースが "state": "failed"表示されます。

失敗したリソースの数と種類が許容される場合は、カットオーバーを続行できます。 そうでない場合は、移行を中止し、基になる問題を解決してから、新しい移行を開始します。

カットオーバーに失敗し、ソース リポジトリがロックされている

途中でカットオーバーが失敗した場合、ソース リポジトリはロックまたはアーカイブされたままになる可能性があります。 これにより、移行先がまだ不完全な場合でも、開発者がソースにプッシュできなくなります。

ソース リポジトリのロックを解除するには、サイト管理者が GitHub Enterprise Server[Management Console]からロックを解除する必要があります。

ソースのロックが解除されたら、 elm migration cutover-to-destination --migration-id MIGRATION-IDを使用してカットオーバーを再試行するか、 elm migration cancel --migration-id MIGRATION-ID を使用して移行を中止し、準備ができたら新しい移行を開始できます。

強制プッシュにより、移行を再開する必要があります。

移行の進行中に誰かがソース リポジトリの既定のブランチに強制的にプッシュすると、ソースと宛先の間の Git 同期が中断されます。 コミット履歴を書き換える強制プッシュは、段階的に調整することができません。

その場合は、 elm migration cancel --migration-id MIGRATION-ID を使用して移行を中止し、新しい移行を開始します。 再起動する前に、移行中は既定のブランチへの強制プッシュが許可されていないことをチームに伝えてください。

アクセス トークンが拒否されました

認証エラーで移行が失敗した場合は、次のことを確認します。

  • ソース トークンと宛先トークンの両方が personal access tokens (classic)。 きめ細かいトークンはサポートされていません。
  • トークンには、 Enterprise Live Migrations を使用したリポジトリの移行 で指定されたスコープがあります。
  • 宛先組織が SAML シングル サインオンを適用する場合、トークンは SSO に対して承認されている必要があります。

ソース GHES URL が拒否されました

          Enterprise Live Migrations には、HTTPS を使用するための GitHub Enterprise Server URL が必要です。 URL が HTTP で構成されている場合、移行はプレフライト検証に失敗します。