Skip to main content

GitHub Actions を有効化して GitHub Enterprise Server をバックアップおよび復元する

GitHub Actions が有効になっているときに お使いの GitHub Enterprise Server インスタンスのバックアップを復元するには、GitHub Enterprise Server Backup Utilities でバックアップを復元する前に、GitHub Actions を構成する必要があります。

GitHub Actions を使用する場合の GitHub Enterprise Server のバックアップについて

GitHub Enterprise Server Backup Utilities を使って、お使いの GitHub Enterprise Server インスタンスのデータと構成をバックアップし、新しいインスタンスに復元できます。 詳しくは、「インスタンスでのバックアップの構成」を参照してください。

ただし、GitHub Actions のすべてのデータがこれらのバックアップに含まれるわけではありません。 GitHub Actionsは、ワークフローの成果物とログを保存するのに外部ストレージを使用します。 このデータは、Azure BLOB ストレージ、Amazon S3、 Google Cloud Storage、または MinIO などの外部プロバイダーに格納されます。 その結果、GitHub Enterprise Server のバップアップと GitHub Enterprise Server の高可用性構成は、この外部ストレージに保存されたデータに対する保護を提供せず、そのかわりに Azure、Google Cloud、 または AWS といった外部ストレージのプロバイダーが提供するデータ保護およびレプリケーションに依存します。

GitHub Actions が有効になっているときに GitHub Enterprise Server のバックアップを復元する

GitHub Actions を使って お使いの GitHub Enterprise Server インスタンスのバックアップを復元するには、GitHub Enterprise Server Backup Utilities からバックアップを復元する前に、復元先インスタンスでネットワーク設定と外部ストレージを手動で構成する必要があります。

  1. 復元元インスタンスがオフラインであることを確認します。

  2. 交換する GitHub Enterprise Server インスタンスで、ネットワーク設定を手動で構成します。 ネットワーク設定はバックアップスナップショットから除外され、ghe-restore で上書きされません。 詳しくは、「ネットワーク設定の構成」を参照してください。

  3. 復元先インスタンスに SSH で接続します。 詳しくは、「管理シェル (SSH) にアクセスする」を参照してください。

    Shell
    ssh -p 122 admin@HOSTNAME
    
  4. 次のいずれかのコマンドを入力して、復元元インスタンスと同じ外部ストレージ サービスを GitHub Actions に対して使うように、復元先インスタンスを構成します。

    • Azure Blob Storage:

      Shell
      ghe-config secrets.actions.storage.blob-provider "azure"
      
    • Amazon S3:

      Shell
      ghe-config secrets.actions.storage.blob-provider "s3"
      
    • Google Cloud Storage:

      Shell
      ghe-config secrets.actions.storage.blob-provider "gcs"
      
  5. 次のコマンドを入力して外部ストレージ接続を構成し、プレースホルダーの値を実際の接続の値に置き換えます。

    • Azure Blob Storage:

      Shell
      ghe-config secrets.actions.storage.azure.connection-string "CONNECTION STRING"
      
    • Amazon S3:

      Shell
      ghe-config secrets.actions.storage.s3.bucket-name "S3 BUCKET NAME"
      ghe-config secrets.actions.storage.s3.service-url "S3 SERVICE URL"
      ghe-config secrets.actions.storage.s3.access-key-id "S3 ACCESS KEY ID"
      ghe-config secrets.actions.storage.s3.access-secret "S3 ACCESS SECRET"
      

      必要に応じて、S3 のパス スタイルのアドレス指定を強制するには、次のコマンドも入力します。

      Shell
      ghe-config secrets.actions.storage.s3.force-path-style true
      
    • Google Cloud Storage:

      Shell
      ghe-config secrets.actions.storage.gcs.service-url "SERVICE URL"
      ghe-config secrets.actions.storage.gcs.bucket-name "BUCKET NAME"
      ghe-config secrets.actions.storage.gcs.access-key-id "HMAC ACCESS ID"
      ghe-config secrets.actions.storage.gcs.access-secret "HMAC SECRET"
      
  6. 復元先インスタンスで GitHub Actions を有効にする準備をするには、次のコマンドを入力します。

    Shell
    ghe-config app.actions.enabled true
    
  7. 構成を適用して GitHub Actions が外部ストレージ プロバイダーに接続できるようにするには、次のコマンドを入力します。

    Shell
    ghe-config-apply
    
  8. GitHub Actions を構成して有効にした後、残りのデータをバックアップから復元するには、ghe-restore コマンドを使います。 詳しくは、「インスタンスでのバックアップの構成」を参照してください。

  9. 復元先インスタンスで、セルフホステッド ランナーをもう一度登録します。 詳しくは、「自己ホストランナーの追加」を参照してください。

  10. 必要に応じて、新しいインスタンスにプレインストールされているバンドルされたアクションが最新であることを確認する には、次のコマンドを入力します。

Shell
ghe-config --unset 'app.actions.actions-repos-sha1sum'
  1. 構成を適用するには、次のコマンドを実行します。

    : 構成の実行中に、お使いの GitHub Enterprise Server インスタンス 上のサービスが再起動する可能性があり、これによりユーザーに短時間のダウンタイムが発生する場合があります。

    Shell
    ghe-config-apply
    
  2. 設定の実行が完了するのを待ってください。