Zum Hauptinhalt springen
Intelligence View
⚡ tsecurity.de Intelligence

GitHub Proのプライベートリポジトリで「デプロイ承認ゲート」をどう作るか

📝 Originally published at forge.workstyle.tech.

「main にマージしても、人間が承認するまで本番デプロイは走らせたくない」——CI/CD を組むと必ず欲しくなる仕組みです。GitHub には環境(Environments)の 必須承認レビュアー という純正機能があり、これを使えば「マージ → 自動で停止 → 承認ボタンで再開」という理想的なゲートが作れます。

ところが、プライベートリポジトリでは思わぬ落とし穴があります。

落とし穴: 承認レビュアーは Pro でも private では使えない

環境の必須承認レビュアーや待機タイマーといった「デプロイ保護規則」は、GitHub Free / Pro / Team ではパブリックリポジトリでしか使えません。プライベートリポジトリで使うには GitHub Enterprise が必要です。

つまり GitHub Pro を契約していても、プライベートリポジトリに承認レビュアーを設定しようとすると API はこう返します。

HTTP 422: Failed to create the environment protection rule.
Please ensure the billing plan supports the required reviewers protection rule.

これは課金トラブルではなく プランの仕様です。環境(Environment)そのものは Pro の private でも作れますが、その上の「承認レビュアー」ルールだけは別枠、という点が紛らわしいところです。

解決策: workflow_dispatch を承認ゲートとして使う

純正ゲートが使えないなら、デプロイを手動実行(workflow_dispatch)にするのが確実です。

name: Deploy
on:
  # 手動実行 = 人間による「デプロイ承認」ゲート。
  # main にマージしただけでは走らず、Run workflow を押した時だけ実行される。
  workflow_dispatch:

jobs:
  deploy:
    runs-on: ubuntu-latest
    environment: production
    steps:
      - uses: actions/checkout@v4
      - name: 本番デプロイ
        run: echo "デプロイを実行"

こうすると main へのマージでは何も起きず、担当者が GitHub の Actions → Deploy → Run workflow を押したときだけデプロイが走ります。ボタンを押す行為そのものが承認に相当するわけです。

どちらを選ぶか

  • プライベートのまま運用したいworkflow_dispatch の手動ゲートが恒久解。追加コストゼロ。
  • 純正の「自動停止 → 承認」UI が欲しい → リポジトリを public にするか、Enterprise にアップグレードするかの二択。

小さなチームや個人開発なら、まず手動ゲートで十分です。実際のデプロイ先(Vercel / Cloudflare など)は多くの場合それ自身にプロモーション承認の仕組みを持つので、GitHub 側のゲートに固執する必要もありません。

まとめ

  • 環境の承認レビュアーは Free/Pro/Team では public 限定。private は Enterprise が必要。
  • 代替として workflow_dispatch の手動デプロイが、無料・private で確実に動く承認ゲートになる。
  • 「マージ ≠ デプロイ」を明示的に分離できれば、仕組みは何であれ目的は達成できる。
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten GitHub Proのプライベートリポジトリで「デプロイ承認ゲート」をどう作るか

Thematisch verwandte Begriffe: GitHub, Proのプライベートリポジトリでデプロイ承認ゲートをどう作るか · 6 Treffer

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-61591 | djust provides Phoenix LiveView-style reactive server-side rendering for…
Advisory →
TTS Reader • tsecurity.de Voice
tsecurity.de Icon
tsecurity.de App
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag
Themen-Radar & Intelligence Matrix
Echtzeit-Taxonomie nach Angriffsvektoren & Plattformen
Community Radar & Live Chat
Sentinel Bot online • Live-Stream
Dein Cluster: Security Explorer
Match:
lädt…
Verbindung zum Community-Stream wird aufgebaut...
Aktivitäten deiner Analysten
lädt…
Neues Thema oder Eilmeldung einreichen

Reiche interessante Links, Zero-Days oder Debatten ein. Die Community entscheidet per Upvote über die Veröffentlichung.

Heiß diskutierte Einreichungen
🔖 Gespeicherte Artikel
📂 Keine gespeicherten Artikel vorhanden.
News ⏱️ 3 Min vor 10 Min
Artikeldaten werden geladen...

↗ Original-Quelle