ホットパッチでのアップグレード
You can upgrade GitHub Enterprise Server to the latest patch release using a hotpatch.
You can use hotpatching to upgrade to a newer patch release, but not a feature release. For example, you can upgrade from 2.10.1
to 2.10.5
because they are in the same feature series, but not from 2.10.9
to 2.11.0
because they are in a different feature series.
Hotpatches do not generally require a reboot. If a hotpatch does require a reboot, the GitHub Enterprise Server release notes will indicate the requirement.
Hotpatches require a configuration run, which can cause a brief period of errors or unresponsiveness for some or all services on your GitHub Enterprise Server instance. You are not required to enable maintenance mode during installation of a hotpatch, but doing so will guarantee that users see a maintenance page instead of errors or timeouts. For more information, see "Enabling and scheduling maintenance mode."ホットパッチのインストールスクリプトは、ホットパッチをクラスタ内の各ノードにインストールし、サービスを適切な� �序で再起動し、ダウンタイ� を回避します。
- GitHub Enterprise Server Backup Utilities を使用してデータをバックアップします。
- 任意のノードの管理シェルから、
ghe-cluster-hotpatch
コマンドを使用して最新のホットパッチをインストールします。 ホットパッチの URL を指定するか、手動でホットパッチをダウンロードしてローカルのファイル名を指定することができます。$ ghe-cluster-hotpatch https://HOTPATCH-URL/FILENAME.hpkg
アップグレードパッケージでのアップグレード
アップグレードパッケージを使用して、GitHub Enterprise Server クラスタを最新のフィーチャリリースにアップグレードします。 たとえば、2.11
から 2.13
にアップグレードできます。
アップグレードの準備
- アップグレードするバージョンの クラスター ネットワーク構成を確認し、必要に応じて構成を更新します。
- GitHub Enterprise Server Backup Utilities を使用してデータをバックアップします。
- アップグレード中は通常どおりに使用できないため、GitHub Enterprise Serverクラスタのエンドユーザーに対してメンテナンス期間をスケジュールします。 メンテナンスモードは、クラスタのアップグレードの進行中、ユーザーのアクセスをブロックし、データが変更されないようにします。
- GitHub Enterprise Server のダウンロード ページで、アップグレード .pkg ファイルの URL をクリップボードにコピーします。
- 任意のノードの管理シェルから、
ghe-cluster-each
コマンドをcurl
と組み合わせて使用して、1 つの手� �でリリース パッケージを各ノードにダウンロードします。 先ほどのステップでコピーした URL を引数として使ってく� さい。$ ghe-cluster-each -- "cd /home/admin && curl -L -O https://PACKAGE-URL.pkg" > ghe-app-node-1: % Total % Received % Xferd Average Speed Time Time Time Current > ghe-app-node-1: Dload Upload Total Spent Left Speed > 100 496M 100 496M 0 0 24.2M 0 0:00:20 0:00:20 --:--:-- 27.4M > ghe-data-node-2: % Total % Received % Xferd Average Speed Time Time Time Current > ghe-data-node-2: Dload Upload Total Spent Left Speed > 100 496M 100 496M 0 0 21.3M 0 0:00:23 0:00:23 --:--:-- 25.8M > ghe-data-node-1: % Total % Received % Xferd Average Speed Time Time Time Current > ghe-data-node-1: Dload Upload Total Spent Left Speed > 100 496M 100 496M 0 0 19.7M 0 0:00:25 0:00:25 --:--:-- 25.6M > ghe-app-node-2: % Total % Received % Xferd Average Speed Time Time Time Current > ghe-app-node-2: Dload Upload Total Spent Left Speed > 100 496M 100 496M 0 0 19.8M 0 0:00:25 0:00:25 --:--:-- 17.6M > ghe-data-node-3: % Total % Received % Xferd Average Speed Time Time Time Current > ghe-data-node-3: Dload Upload Total Spent Left Speed > 100 496M 100 496M 0 0 19.7M 0 0:00:25 0:00:25 --:--:-- 25.5M
cluster.conf
でmysql-master = <hostname>
として定義されているプライマリ MySQL ノードを特定します。 このノードは最後にアップグレードされます。
クラスタノードのアップグレード
- 任意のクラスター ノードの管理シェルに接続して
ghe-cluster-maintenance -s
を実行して、スケジュールされた期間に従ってメンテナンス モードを有効にします。 - プライマリ MySQL ノードを除き、GitHub Enterprise Server の各ノードの管理シェルに接続します。
アップグレードの準備の手� � 4 でダウンロードしたパッケージ ファイル名を指定して、
ghe-upgrade
コマンドを実行します。$ ghe-upgrade PACKAGE-FILENAME.pkg > *** verifying upgrade package signature... > 497MB 0:00:04 [ 117MB/s] [==========================================>] 100% > gpg: Signature made Fri 19 Feb 2016 02:33:50 PM UTC using RSA key ID 0D65D57A > gpg: checking the trustdb > gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model > gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u > gpg: Good signature from "GitHub Enterprise (Upgrade Package Key) >
" - アップグレードプロセスが完了すると、ノードが再起動します。 再起動後に各ノードを
ping
できることを確認します。 - プライマリ MySQL ノードの管理シェルに接続してく� さい。 アップグレードの準備の手� � 4 でダウンロードしたパッケージ ファイル名を指定して、
ghe-upgrade
コマンドを実行します。$ ghe-upgrade PACKAGE-FILENAME.pkg > *** verifying upgrade package signature... > 497MB 0:00:04 [ 117MB/s] [==========================================>] 100% > gpg: Signature made Fri 19 Feb 2016 02:33:50 PM UTC using RSA key ID 0D65D57A > gpg: checking the trustdb > gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model > gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u > gpg: Good signature from "GitHub Enterprise (Upgrade Package Key) >
" - アップグレードプロセスが完了すると、プライマリ MySQL ノードが再起動します。 再起動後に各ノードを
ping
できることを確認します。 - プライマリ MySQL ノードの管理シェルに接続し、
ghe-cluster-config-apply
コマンドを実行します。 ghe-cluster-config-apply
が完了したら、ghe-cluster-status
を実行してサービスが正常な状態であることを確認します。ghe-cluster-maintenance -u
を実行して、任意のノードの管理シェルからメンテナンス モードを終了します。