Skip to main content

ステージングインスタンスのセットアップ

別の分離された環境に GitHub Enterprise Server インスタンスを設定し、そのインスタンスを使って変更の検証とテストを行うことができます。

ステージング インスタンスについて

GitHub では、お使いの GitHub Enterprise Server インスタンスの構成のバックアップ、更新、または変更をテストするために個別の環境を設定することを推奨しています。 運用システムから分離する必要があるこの環境は、ステージング環境と呼ばれます。

たとえば、データの損失から保護するために、運用インスタンスのバックアップを定期的に検証できます。 運用データのバックアップは、ステージング環境の別の GitHub Enterprise Server インスタンスに定期的に復元できます。 このステージング インスタンスでは、GitHub Enterprise Server の最新の機能リリースへのアップグレードをテストすることもできます。

ヒント

ステージング インスタンスが運用環境の容量で使われていない場合、既存の GitHub Enterprise ライセンス ファイルを再利用できます。

ステージング環境に関する考慮事項

GitHub Enterprise Server を十分にテストし、運用環境とできるだけ似た環境を再現するために、インスタンスを操作する外部システムを検討してください。 たとえば、ステージング環境では次をテストできます。

  • 認証 (特に SAML などの外部認証プロバイダーを使用する場合)
  • 外部のチケットシステムとの統合
  • 継続的インテグレーションサーバとの統合
  • GitHub Enterprise Server APIs を利用する外部のスクリプトあるいはソフトウェア
  • メール通知のための外部のSMTPサーバ

ステージングインスタンスのセットアップ

ステージング インスタンスを最初からセットアップしたり、必要に応じてインスタンスを設定したりすることができます。 詳細については、「GitHub Enterprise Server インスタンスをセットアップする」および「GitHub Enterprise を設定する」を参照してください。

または、運用インスタンスのバックアップをステージング インスタンスに復元することで、運用構成を反映するステージング インスタンスを作成することもできます。

  1. 運用インスタンスをバックアップします
  2. ステージング インスタンスをセットアップします
  3. GitHub Actions を設定します
  4. GitHub Packages を設定します
  5. 運用バックアップを復元します
  6. インスタンスの設定を確認します
  7. インスタンスの構成を適用します

1. 運用インスタンスをバックアップする

運用インスタンスと同じデータと設定を含むインスタンスで変更をテストする場合は、GitHub Enterprise Server Backup Utilities を使用して運用インスタンスからデータと設定をバックアップします。 詳しくは、「Backup Utilities を使用したインスタンスのバックアップの構成」をご覧ください。

警告

運用環境で GitHub Actions または GitHub Packages を使う場合、バックアップには外部ストレージの運用構成が含まれます。 ステージング インスタンスから運用ストレージに書き込むことでデータが失われる可能性を回避するには、バックアップを復元する前に、手順 3 と 4 の各機能を設定する必要があります。

2. ステージング インスタンスをセットアップする

新しいインスタンスをステージング環境として動作するようにセットアップしてください。 セットアップ プロセスを実行するときは、必ず [New Install] オプションを選んでください。 こうすることで、ステージング環境が適切に初期化され、必要に応じてバックアップを復元する準備が整います。

ステージングインスタンスのプロビジョニングとインストールについては、本番インスタンスと同じガイドが利用できます。 詳しくは、「GitHub Enterprise Server インスタンスをセットアップする」をご覧ください。

運用インスタンスのバックアップを復元する場合は、次の手順に進みます。 または、インスタンスを手動で設定し、以降の手順にスキップすることもできます。

警告

GitHub Actions でのバックアップの復元は、構成されていないインスタンスでは成功しません。 GitHub Actions を有効にするには、ホスト名が構成されたインスタンスが必要です。 詳しくは、「インスタンスのホスト キーの構成」をご覧ください。

3. GitHub Actions を設定する

必要に応じて、運用インスタンスで GitHub Actions を使用する場合、運用バックアップを復元する前にステージング インスタンスで機能を設定します。 GitHub Actions を使わない場合は、「GitHub Packages を構成する」に進んでください。

ステージング インスタンスで GitHub Actions を構成するには、[Management Console] を使います。

[Management Console] には、GitHub Actions を含め、GitHub Enterprise Server インスタンスの低レベル構成用のセキュリティで保護されたブラウザーベースのインターフェイスが用意されています。 すべての構成変更は監査され、アクセスは専用の資格情報とネットワーク制御によって保護されます。

警告

運用バックアップを復元する前にステージング インスタンスで GitHub Actions を構成しないと、ステージング インスタントで運用インスタンスの外部ストレージが使われて、データが失われる可能性があります。 ステージング インスタンスには別の外部ストレージを使用することを強くお勧めします。 詳しくは、「ステージング環境を使用する」をご覧ください。

  1. [Management Console] にアクセスします。 「管理コンソールへのアクセス」を参照してください。

  2. サイドバーで [Actions] タブを開きます。

  3. [Enable GitHub Actions] をオンにして、GitHub Actions を有効にします。

  4. 成果物とログの保存に使う外部ストレージ プロバイダーを選びます。

  5. 選んだプロバイダーに必要なストレージと認証の詳細を入力します。

  6. [Test storage settings] をクリックして構成をテストし、[Save settings] をクリックします。

GitHub Actions を構成して有効にしたら、次の手順に進みます。

4. GitHub Packages を設定する

必要に応じて、運用インスタンスで GitHub Packages を使用する場合、運用バックアップを復元する前にステージング インスタンスで機能を設定します。 GitHub Packages を使っていない場合は、「運用バックアップを復元する」に進んでください。

警告

運用バックアップを復元する前にステージング インスタンスで GitHub Packages を構成しないと、ステージング インスタントで運用インスタンスの外部ストレージが使われて、データが失われる可能性があります。 ステージング インスタンスには別の外部ストレージを使用することを強くお勧めします。 詳しくは、「ステージング環境を使用する」をご覧ください。

ステージング インスタンスの GitHub Packages を構成するには:

  1. [Management Console] にアクセスします。 「管理コンソールへのアクセス」を参照してください。
  2. サイドバーで [Packages] タブを開きます。
  3. [ble GitHub Packages] ボックスをオンにして、GitHub Packages を有効にします。
  4. [Packages Storage Settings] で、外部ストレージ プロバイダーを選びます。
  5. [Test storage settings] をクリックして、ストレージ構成をテストします。
  6. [Save settings] をクリックして、構成を適用します。

メモ

エコシステムの切り替えを使うと、必要に応じてインスタンスに対して個々のパッケージの種類を有効化、無効化、または読み取り専用に設定できます。

5. 運用バックアップを復元する

ghe-restore コマンドを使用して残りのデータをバックアップから復元します。 詳しくは、「Backup Utilities を使用したインスタンスのバックアップの構成」をご覧ください。

ステージング インスタンスが既に設定されており、設定、証明書、ライセンス データを上書きする場合は、コマンドに -c オプションを追加します。 このオプションの詳しい情報については、GitHub Enterprise Server Backup Utilities ドキュメントの「バックアップおよび復元コマンドの使用」を参照してください。

6. インスタンスの設定を確認する

同じホスト名を使用してステージング インスタンスにアクセスするには、macOS または Linux の /etc/hosts ファイル、または Windows の C:\Windows\system32\drivers\etc ファイルを編集して、ステージング インスタンスのホスト名を IP アドレスで解決するようにローカル ホスト ファイルを更新します。

メモ

ステージング インスタンスには、運用インスタンスと同じホスト名からアクセスできる必要があります。 お使いの GitHub Enterprise Server インスタンスのホスト名の変更はサポートされていません。 詳しくは、「インスタンスのホスト キーの構成」をご覧ください。

次に、[Management Console] でステージング インスタンスの設定を確認します。 詳しくは、「Web UI からインスタンスを管理する」をご覧ください。

警告

ステージング インスタンスの GitHub Actions または GitHub Packages を構成した場合、運用データが上書きされるのを避けるため、[Management Console] の外部ストレージ構成が運用インスタンスと同じでないことを確認してください。

7. インスタンスの構成を適用する

[Management Console] から設定を適用するには、 [設定の保存] をクリックします。

ステージング インスタンスをオンラインに戻す

コストの節約のためにステージング インスタンスの電源をオフにし、必要に応じて電源をオンに戻したりすることができます。

インスタンスは 60 日間オフライン状態にすることができます。

許可されたオフライン期間内にインスタンスをオンラインに戻すと、GitHub Enterprise Server が正常にインスタンス化されます。 許可された期間を超えてインスタンスがオフラインの状態が続くと、GitHub Enterprise Server によるインスタンス化は失敗し、server has been offline for more than the configured server_rejoin_age_max というテキストのエラー メッセージがシステム ログに表示されることがあります。 「システム ログについて」を参照してください。

インスタンスがエラー状態でスタックしている場合は、これらのコマンドを実行して復旧できます。

sudo mv /data/user/consul/server_metadata.json /data/user/consul/server_metadata.json.bak
ghe-config-apply

参考資料