Skip to main content

カスタム デプロイ保護規則の構成

サードパーティ システムを使ってデプロイを自動保護するには、GitHub Apps を使います。

この機能を使用できるユーザーについて

カスタム デプロイ保護ルールは、すべてのプランのパブリック リポジトリで使用できます。 プライベートまたは内部リポジトリ内のカスタム デプロイ保護ルールにアクセスする場合は、GitHub Enterprise を使う必要があります。 詳しくは、「GitHub のプラン」をご覧ください。

Note

カスタム配置保護ルールは、現在 パブリック プレビュー 段階であり、変更される可能性があります。

カスタム デプロイ保護規則について

カスタム デプロイ保護規則は GitHub Apps を利用しています。 デプロイ保護規則が構成され、リポジトリにインストールされると、リポジトリ内の任意の環境に対して有効にすることができます。

ある環境でカスタム デプロイ保護規則を有効にすると、ワークフロー手順がその環境を対象にするたびに、デプロイ保護規則が自動的に実行されます。 配置の環境の対象設定については、「デプロイに環境の使用」を参照してください。

カスタム展開保護ルールがトリガーされると、タイムアウトしてワークフロー ジョブが失敗するまで、Webhook イベントの応答を最大 30 日間待機します。

独自のカスタム配置保護規則の作成については、「カスタム デプロイ保護規則の作成」を参照してください。

Note

任意の数の GitHub Apps ベースの配置保護ルールをリポジトリにインストールできます。 ただし、どの環境でも、同時に有効にできるデプロイ保護規則は最大 6 つです。

既存のカスタム デプロイ保護規則の使用

独自のカスタム デプロイ保護規則を作成することや、既存のカスタム デプロイ保護規則を使うことができます。

デプロイ保護規則の公式パートナー実装の一覧を次に示します。

  • Datadog: Datadog モニターを使って GitHub Actions デプロイ ワークフローに保護規則を適用できます。 詳細については、Datadog ドキュメントの「Datadog Monitors を使った GitHub Actions デプロイの制御」を参照してください。
  • Honeycomb: Honeycomb に送信するデータに基づいて、デプロイを拒否または承認するしきい値を定義できます。 詳細については、GitHub Marketplace の「Honeycomb アプリ」を参照してください。
  • New Relic: 詳細については、GitHub Marketplace の「New Relic アプリ」を参照してください。
  • NCM NodeSource: 詳細については、GitHub Marketplace の「NCM NodeSource アプリ」を参照してください。
  • Sentry: 詳細については、GitHub Marketplace の「Sentry Deployment Gate アプリ」を参照してください。
  • ServiceNow: 詳細については、ServiceNow ドキュメントの「GitHub integration with DevOps Change Velocity」を参照してください。

前提条件

カスタム デプロイ保護規則をリポジトリ内のすべての環境で使用できるようにするには、まずリポジトリにカスタム デプロイ保護規則をインストールする必要があります。 詳しくは、「独自の GitHub App のインストール」をご覧ください。

カスタム デプロイ保護規則をリポジトリにインストールした後、規則を適用する各環境で有効にする必要があります。

環境のカスタム デプロイ保護規則を有効にする

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  3. 左側のサイドバーで、 [環境] をクリックします。

  4. 構成する環境を選びます。

  5. [デプロイ保護規則] で、その環境に対して有効にする各カスタム デプロイ保護規則の横にあるボックスをオンにします。

  6. [保護ルールの保存] をクリックします。

カスタム デプロイ保護規則を環境に対して有効にすると、ワークフローがその環境を参照するジョブに到達するたびに自動的に実行されます。 デプロイの詳細を確認すると、デプロイの承認または拒否の結果が表示されます。 詳しくは、「デプロイメントのレビュー」をご覧ください。