Note
- サポートされているバージョンのアップグレード パッケージは、enterprise.github.com で入手できます。 アップグレードを完了するには、必要なアップグレードパッケージが利用できることを確認してください。 パッケージが利用できない場合はGitHub Enterprise サポートにアクセスしてサポートをお問い合わせください。
- GitHub Enterprise Server クラスタリングを使用している場合、クラスタリングに固有の具体的な手順については、GitHub Enterprise Server クラスタリング ガイドの「クラスタのアップグレード」を参照してください。
- GitHub Enterprise Server のリリースノートには、GitHub Enterprise Server のすべてのバージョンの新機能の包括的なリストがあります。 詳細については、リリース ページを参照してください。
推奨事項
- アップグレードのプロセスに含めるアップグレードは、できるだけ少なくしてください。 たとえば GitHub Enterprise 3.13 から 3.14 を経て 3.15 にアップグレードする代わりに、GitHub Enterprise 3.13 から 3.15 にアップグレードできます。 Upgrade Assistant を使用して、現在のリリース バージョンからのアップグレード パスを見つけます。
- 数バージョン古いものを使用している場合、アップグレード プロセスの各ステップで可能な限り新しいバージョンまで お使いの GitHub Enterprise Server インスタンス をアップグレードします。 各アップグレードで可能な限りの最新バージョンを使うことで、パフォーマンスの改善やバグフィックスのメリットが得られます。 たとえばGitHub Enterprise2.7から2.8を経て2.10へアップグレードすることができますが、GitHub Enterprise2.7から2.9を経て2.10へのアップグレードすれば、2番目のステップでより新しいバージョンを利用できます。
- アップグレードの際には、最新のパッチリリースを使ってください。 GitHub Enterprise Server リリース ページを参照します。 アップグレード先対象リリースの横にある [ダウンロード] をクリックし、 [アップグレード] タブをクリックします。
- アップグレードのステップのテストには、ステージングインスタンスを使ってください。 詳しくは、「ステージングインスタンスのセットアップ」を参照してください。
- 複数のアップグレードを実行する場合、次の機能アップグレードに進む前に、バックグラウンドで実行されているデータ移行とアップグレード タスクが完全に完了していることを確認します。 これらのプロセスの状態をチェックするには、
ghe-migrations
とghe-check-background-upgrade-jobs
のコマンド ライン ユーティリティを使用します。 GitHub Enterprise Server 3.10 と共にghe-check-background-upgrade-jobs
を使用するには、インスタンスでバージョン 3.10.4 以降を実行する必要があります。 詳細については、「コマンド ライン ユーティリティ」を参照してください。 - 仮想マシンをアップグレードする前にスナップショットを作成します。 詳しくは、「スナップショットの取得」を参照してください。
- インスタンスの最新の正常なバックアップがあることを確認します。 詳細については、GitHub Enterprise Server Backup Utilities の README.md ファイルを参照してください。
要件
- アップグレードは、最大でも 2 リリース前の機能リリースから行わなければなりません。 たとえば GitHub Enterprise 3.15 にアップグレードするためには、GitHub Enterprise 3.14 あるいは 3.13 となっていなければなりません。
- アップグレード パッケージを使ってアップグレードをする場合は、GitHub Enterprise Server のエンド ユーザーのためにメンテナンス期間をスケジューリングします。
- ホットパッチを使って GitHub Enterprise Server を最新のパッチ リリースにアップグレードできます。
ホットパッチは新しいパッチリリースへのアップグレードに利用できますが、新しいフィーチャリリースへのアップグレードには利用できません。 たとえば、2.10.1 から 2.10.5 は同じ機能シリーズに含まれているためアップグレードできますが、2.10.9 から 2.11.0 は異なる機能シリーズに含まれているためアップグレードできません。
ホットパッチでは常に再起動が必要とは限りません。 ホットパッチをインストールすると、更新プログラムを完了するためにいずれかのパッケージで再起動が必要な場合に、ターミナルにメッセージが表示されます。 この再起動は便利なタイミングでスケジュールできますが、特にセキュリティ修正プログラムがある場合は、できるだけ早く再起動することをお勧めします。
ホットパッチには構成実行が必要です。構成実行すると、お使いの GitHub Enterprise Server インスタンス の一部または全部のサービスで短い時間、エラーが発生したり、応答しなかったりすることがあります。 ホットパッチのインストール中はメンテナンス モードを有効にする必要はありませんが、有効にすると、エラーまたはタイムアウトではなくメンテナンス ページがユーザーに表示されます。 「メンテナンスモードの有効化とスケジューリング」をご覧ください。
- ホットパッチは、影響するサービス(カーネル、MySQL、Elasticsearchなど)がVMの再起動やサービスの再起動を必要とするなら、ダウンタイムが必要になります。 リブートや再起動が必要になったときには通知されます。 リブートや再起動は後で完了させることができます。
- ホットパッチでアップグレードをする場合、アップグレードの完了までに特定のサービスの複数バージョンがインストールされることから、追加のルートストレージが利用できなければなりません。 十分なルートディスクストレージがなければ、事前チェックで通知されます。
- ホットパッチでアップグレードする場合、インスタンスの負荷は高すぎてはなりません。もし負荷が高すぎると、ホットパッチのプロセスに影響するかもしれません。
- GitHub Enterprise Server 2.17にアップグレードすると、監査ログがElasticsearchからMySQLに移行されます。 この移行により、スナップショットの復元に必要な時間とディスク容量も増加します。 移行の前に、次のコマンドでElasticsearch監査ログのインデックスでバイト数を確認してください。
curl -s http://localhost:9201/audit_log/_stats/store | jq ._all.primaries.store.size_in_bytes
MySQLの監査ログで必要なディスク容量の概算には、この数字を使用します。 スクリプトは、インポートの進行中に空きディスク容量も監視します。 この数字を監視しておくと、空きディスク容量が、移行に必要なディスク容量に近い場合に特に便利です。
アップグレード時に、メモリ、CPU コア、ユーザーとルート ディスク ストレージなどのシステム ハードウェア リソースの最小要件がインスタンスで使用できるかどうかを事前チェックで評価します。 事前チェックでリソース不足やその他の失敗があると判断された場合は、通知が送信され、アップグレードが中止されます。
既知の問題
アップグレードに適用される可能性がある既知の issue を確認します。 詳しくは、「インスタンスへのアップグレードに関する既知の問題」を参照してください。
次の手順
これらの推奨および要求事項をレビューした後で、GitHub Enterprise Server をアップグレードできます。 詳しくは、「アップグレード プロセスの概要」を参照してください。