環境について
環境は、一般的なデプロイ ターゲットを記述するために使用されます (例: production
、staging
、または development
)。 GitHub Actions ワークフローが環境にデプロイされると、その環境がリポジトリのメイン ページに表示されます。 環境を使って、ジョブを進めるには承認を必須にすること、ワークフローをトリガーできるブランチを制限すること、カスタム デプロイ保護規則を使ってデプロイを制御すること、またはシークレットへのアクセスを制限することができます。 環境の作成の詳細については、「デプロイに環境の使用」を参照してください。
ワークフロー中の各ジョブは、1つの環境を参照できます。 その環境を参照するジョブがランナーに送信される前に、その環境に設定された保護ルールはパスしなければなりません。 ジョブがランナーに送信された後でのみ、ジョブは環境のシークレットにアクセスできます。
ワークフローが環境を参照する場合、その環境はリポジトリのデプロイメントに現れます。 現在と以前のデプロイを表示する方法について詳しくは、「デプロイ履歴の表示」を参照してください。
ワークフローで環境の使用
ワークフロー内のジョブごとに環境を指定できます。 そのためには jobs.<job_id>.environment
キーを追加し、その後に環境の名前を追加します。
たとえば、このワークフローでは production
という環境が使用されます。
name: Deployment
on:
push:
branches:
- main
jobs:
deployment:
runs-on: ubuntu-latest
environment: production
steps:
- name: deploy
# ...deployment-specific steps
上記のワークフローを実行すると、 deployment
ジョブは production
環境用に構成されたすべてのルールに従います。 たとえば、環境でレビュー担当者が必要な場合、いずれかのレビュー担当者がジョブを承認するまでジョブは一時停止します。
環境の URL を指定することもできます。 指定した URL は、リポジトリのデプロイ ページ (リポジトリのホーム ページの [環境] をクリックすることでアクセス可能) とワークフロー実行の視覚化グラフに表示されます。 pull request がワークフローをトリガーすると、URL は pull request タイムラインの [デプロイの表示] ボタンとしても表示されます。
name: Deployment
on:
push:
branches:
- main
jobs:
deployment:
runs-on: ubuntu-latest
environment:
name: production
url: https://github.com
steps:
- name: deploy
# ...deployment-specific steps