Skip to main content

Using environments for deployment

Specify a deployment environment in your workflow.

About environments

環境は、一般的なデプロイ ターゲットを記述するために使用されます (例: productionstaging、または development)。 GitHub Actions ワークフローが環境にデプロイされると、その環境がリポジトリのメイン ページに表示されます。 環境を使って、ジョブを進めるために承認を必要とすること、ワークフローをトリガーできるブランチを制限すること、カスタム デプロイ保護規則でデプロイを制限すること、またはシークレットへのアクセスを制限することができます。 環境の作成の詳細については、「Managing environments for deployment」を参照してください。

Each job in a workflow can reference a single environment. Any protection rules configured for the environment must pass before a job referencing the environment is sent to a runner. The job can access the environment's secrets only after the job is sent to a runner.

When a workflow references an environment, the environment will appear in the repository's deployments. For more information about viewing current and previous deployments, see Viewing deployment history.

Using an environment in a workflow

ワークフロー内のジョブごとに環境を指定できます。 そのためには 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 タイムラインの [デプロイの表示] ボタンとしても表示されます。 [Require deployments to succeed before merging] ルールを使う場合、URL も指定した場合でも、指定した name のみがチェックされます。 「保護されたブランチについて」をご覧ください。

name: Deployment

on:
  push:
    branches:
      - main

jobs:
  deployment:
    runs-on: ubuntu-latest
    environment: 
      name: production
      url: http://github.com
    steps:
      - name: deploy
        # ...deployment-specific steps