GitHub Actionsのワークフローの特定ジョブの実行を承認必須にできる。
この機能はGitHubのリポジトリ設定のEnvironmentsのRequired reviewers設定を使用する。
本番環境へのデプロイなど、慎重な操作でダブルチェックが欲しいときなどに活用できる。
Environments の設定
環境の作成
リポジトリのSettingsからEnvironmentを作成する。
- リポジトリのSettingsをクリック
- 左サイドバーのEnvironmentsをクリック
- New environmentをクリック
- 環境名(例:
production)を入力 - Configure environmentをクリック
Required reviewers の設定
Environmentの設定画面で承認者を指定する。
- Required reviewersにチェックを入れる
- 承認者となるユーザーまたはチームを最大6つまで入力する
- 自分自身による承認を拒否するために、Prevent self-reviewにチェックを入れる
- Save protection rulesをクリック
以上で指定した承認者のうち、1人が承認すればジョブが実行されるようなEnvironmentの設定が追加される。
Workflow での環境の指定
GitHub Actionsのワークフローファイルで環境を指定するには、ジョブレベルでenvironmentキーを使用する。
name: Deploy
on:
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
environment:
name: production # EnvironmentのNameを指定
steps:
- uses: actions/checkout@v4
- name: Deploy to production
run: |
echo "Deploying to production..."
# デプロイコマンド
環境にRequired reviewersが設定されている場合、このジョブは承認されるまで実行されない。
複数ジョブがある場合でもジョブそれぞれにenvironmentキーを指定すれば、それぞれ承認を必須にできる。
承認する
承認待ち状態の確認
ワークフローが承認待ち状態になると、以下の場所で確認できる。
- リポジトリのActionsタブ
- ワークフロー実行の詳細ページにReview kdeploymentsボタンが表示される
- 承認者には通知が届く(通知設定による)
承認・却下の操作
承認者は以下の手順で承認または却下する。
- Review deploymentsボタンをクリック
- 承認または却下する環境を選択
- 必要に応じてコメントを入力
- Approve and deployまたはRejectをクリック
Approve and deployを選択すると、ジョブが実行される。 Rejectを選択すると、ワークフロー全体が失敗する。
