アップグレードの要求事項
GitHub Enterprise Server をアップグレードする前に、アップグレードの方針を計画するために以下の推奨事項と要求事項をレビューしてください。
注釈:
- GitHub Enterprise 11.10.348 から 11.10.354 までからアップグレードするためには、まず GitHub Enterprise 2.1.23 に移行しなければなりません。 詳細は「GitHub Enterprise 11.10.x から 2.1.23 へ移行する」を参照してください。
- サポートされているバージョンについては、アップグレードパッケージが enterprise.github.com から利用できます。 アップグレードを完了するには、必要なアップグレードパッケージが利用できることを確認してください。 パッケージが利用できない場合はGitHub Enterprise Support または GitHub Premium Supportに連絡して支援を求めてください。
- GitHub Enterprise Server クラスタリングを利用している場合は、クラスタリングに固有の手順については GitHub Enterprise Server クラスタリングガイド中の「クラスタをアップグレードする」を参照してください。
- GitHub Enterprise Server のリリースノートには、GitHub Enterprise Server のすべてのバージョンの新機能の包括的なリストがあります。 詳しい情報についてはリリースページを参照してください。
推奨される対応
- アップグレードのプロセスに含めるアップグレードは、できるだけ少なくしてください。 たとえば GitHub Enterprise 2.15 から 2.16 を経て 2.17 にアップグレードする代わりに、GitHub Enterprise 2.15 から 2.17 にアップグレードできます。
- バージョンが数バージョン古いのであれば、GitHub Enterprise Server インスタンスをアップグレードのプロセスの各ステップでできる限り先までアップグレードしてください。 各アップグレードで可能な限りの最新バージョンを使うことで、パフォーマンスの改善やバグフィックスのメリットが得られます。 たとえばGitHub Enterprise2.7から2.8を経て2.10へアップグレードすることができますが、GitHub Enterprise2.7から2.9を経て2.10へのアップグレードすれば、2番目のステップでより新しいバージョンを利用できます。
- アップグレードの際には、最新のパッチリリースを使ってください。 GitHub Enterprise Server リリースページ にアクセスし、アップグレード先のリリースの右隣にある [Download] をクリックし、[Upgrading] タブをクリックします。
- アップグレードのステップのテストには、ステージングインスタンスを使ってください。 詳しい情報については "ステージングインスタンスのセットアップ"を参照してください。
- 複数のアップグレードを実行する際には、フィーチャアップグレードの間に少なくとも24時間を挟み、データの移行とバックグラウンドのアップグレードタスクが完全に終わるようにしてください。
要件
-
アップグレードは、最大でも2リリース前のフィーチャリリースから行わなければなりません。 たとえば GitHub Enterprise 2.17 にアップグレードするためには、GitHub Enterprise 2.16 あるいは 2.15 でなければなりません。
-
ホットパッチを利用すれば、GitHub Enterprise Server を最新のパッチリリースにアップデートできます。これにはメンテナンスウィンドウは不要で、通常再起動も必要ありません。ホットパッチは新しいパッチリリースへのアップグレードに利用できますが、新しいフィーチャリリースには利用できません。たとえば
2.10.1
から2.10.5
へは同じフィーチャリリース内なのでアップグレードできますが、2.10.9
から2.11.0
へは異なるフィーチャリリースなので、アップグレードできません。 -
ホットパッチは、影響するサービス(カーネル、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の監査ログで必要なディスク容量の概算には、この数字を使用します。 スクリプトは、インポートの進行中に空きディスク容量も監視します。 この数字を監視しておくと、空きディスク容量が、移行に必要なディスク容量に近い場合に特に便利です。
これらの推奨および要求事項をレビューした後で、GitHub Enterprise Server をアップグレードできます。 詳細は「GitHub Enterprise Server をアップグレードする」を参照してください。