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を使用して実稼働インスタンスからデータと構成をバックアップします。 詳しくは、「バックアップ ユーティリティを使用したインスタンスでのバックアップの構成」をご覧ください。

警告

運用環境で 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 Enterprise Serverを含む、GitHub Actions インスタンスの低レベル構成用のセキュリティで保護されたブラウザー ベースのインターフェイスを提供します。 すべての構成変更は監査され、アクセスは専用の資格情報とネットワーク制御によって保護されます。

警告

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

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

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

  3. 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. [GitHub パッケージの有効化] チェック ボックスをオンにして、GitHub パッケージを有効にします。
  4. [Packages Storage Settings] で、外部ストレージ プロバイダーを選びます。
  5. [Test storage settings] をクリックして、ストレージ構成をテストします。
  6. [Save settings] をクリックして、構成を適用します。

メモ

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

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

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

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

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

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

メモ

ステージング インスタンスには、運用インスタンスと同じホスト名からアクセスできる必要があります。 お使いの 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

参考資料