Skip to main content
ドキュメントには� �繁に更新が� えられ、その都度公開されています。本ページの翻訳はま� 未完成な部分があることをご了承く� さい。最新の情� �については、英語のドキュメンテーションをご参照く� さい。本ページの翻訳に問題がある� �合はこちらまでご連絡く� さい。

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2022-06-03. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてく� さい。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してく� さい。

Using environments for deployment

保護ルールとシークレットを持つ環境を設定できます。 A workflow job that references an environment must follow any protection rules for the environment before running or accessing the environment's secrets.

Environments, environment protection rules, and environment secrets are available in public repositories for all products. For access to environments in private repositories, you must use GitHub Enterprise.

環境について

Environments are used to describe a general deployment target like production, staging, or development. When a GitHub Actions workflow deploys to an environment, the environment is displayed on the main page of the repository. For more information about viewing deployments to environments, see "Viewing deployment history."

保護ルールとシークレットを持つ環境を設定できます。 ワークフローのジョブが環境を参照すると、その環境の保護ルールをすべてパスするまではジョブは開始されません。 すべての環境の保護ルールをパスするまで、ジョブは環境で定義されているシークレットにアクセスできません。

環境の保護ルール

環境の保護ルールは、その環境を参照しているジョブが進行する前に特定の条件をパスすることを要求します。 環境保護ルールを使用して、手動による承認を要求したり、ジョブを遅延させたりすることができます。

必� �のレビュー担当者

必� �のレビュー担当者を使って、特定の人もしくはTeamがその環境を参照するワークフローのジョブを承認しなければならないようにすることができます。 最大で6人のユーザもしくはTeamをレビュー担当者とすることができます。 レビュー担当者は、少なくともそのリポジトリの読み取りアクセス権を持っていなければなりません。 ジョブが進行するため承認が必要なレビュー担当者は1人� けです。

必� �のレビュー担当者を持つ環境を参照しているジョブのレビューに関する詳しい情� �については「デプロイメントのレビュー」を参照してく� さい。

待機タイマー

ジョブが最初にトリガーされた後、特定の時間ジョブを遅延させるために、待機タイマーを使ってく� さい。 時間(分)は、0から43,200(30日)の間の整数でなければなりません。

環境のシークレット

環境に保存されたシークレットは、その環境を参照するワークフロージョブからのみ利用できます。 環境が承認を必要とするなら、ジョブは必� �のレビュー担当者の一人が承認するまで環境のシークレットにアクセスできません。 シークレットに関する詳しい情� �については「暗号化されたシークレット」を参照してく� さい。

注釈: セルフホストランナーで実行されるワークフローは、環境を使用している� �合でも、分離されたコンテナでは実行されません。 Environment secrets should be treated with the same level of security as repository and organization secrets. 詳しい情� �については「GitHub Actionsのためのセキュリティ強化」を参照してく� さい。

環境の作成

To configure an environment in a personal account repository, you must be the repository owner. Organizationのリポジトリで環境を設定するには、adminアクセス権を持っていなければなりません。

  1. GitHub Enterprise Serverインスタンスで、リポジトリのメインページにアクセスしてく� さい。
  2. リポジトリ名の下で Settings(設定)をクリックしてく� さい。 リポジトリの設定ボタン
  3. 左のサイドバーで Environments(環境)をクリックしてく� さい。
  4. New environment(新しい環境)をクリックしてく� さい。
  5. 環境の名前を入力し、Configure environment(環境を設定)をクリックしてく� さい。 環境名では、大文字と小文字は区別されません。 環境名は255文字を超えてはならず、リポジトリ内でユニークでなければなりません。
  6. Optionally, specify people or teams that must approve workflow jobs that use this environment.
    1. Select Required reviewers.
    2. Enter up to 6 people or teams. ジョブが進行するため承認が必要なレビュー担当者は1人� けです。
    3. Click Save protection rules.
  7. Optionally, specify the amount of time to wait before allowing workflow jobs that use this environment to proceed.
    1. Select Wait timer.
    2. Enter the number of minutes to wait.
    3. Click Save protection rules.
  8. Optionally, specify what branches can deploy to this environment. For more information about the possible values, see "Deployment branches."
    1. Select the desired option in the Deployment branches dropdown.
    2. If you chose Selected branches, enter the branch name patterns that you want to allow.
  9. Optionally, add environment secrets. These secrets are only available to workflow jobs that use the environment. Additionally, workflow jobs that use this environment can only access these secrets after any configured rules (for example, required reviewers) pass. シークレットに関する詳しい情� �については「暗号化されたシークレット」を参照してく� さい。
    1. Under Environment secrets, click Add Secret.
    2. Enter the secret name.
    3. Enter the secret value.
    4. [Add secret(シークレットの追� )] をクリックします。

存在しない環境を参照するワークフローを実行すると、参照された名前を持つ環境が作成されます。 新しく作成される環境には、保護ルールやシークレットは設定されていません。 リポジトリのワークフローを編集できる人は、ワークフローファイルを通じて環境を作成できますが、その環境を設定できるのはリポジトリ管理者� けです。

Using an environment

ワークフロー内の各ジョブは、1つの環境を参照できます。 この環境を参照するとジョブがランナーに送信される前に、環境に設定された保護ルールをパスしなければなりません。 The job can access the environment's secrets only after the job is sent to a runner.

ワークフローが環境を参照する� �合、その環境はリポジトリのデプロイメントに現れます。 現在及び以前のデプロイメントの表示に関する詳細については「デプロイメント履歴の表示」を参照してく� さい。

You can specify an environment for each job in your workflow. To do so, add a jobs.<job_id>.environment key followed by the name of the environment.

For example, this workflow will use an environment called production.

name: Deployment

on:
  push:
    branches:
      - main

jobs:
  deployment:
    runs-on: ubuntu-latest
    environment: production
    steps:
      - name: deploy
        # ...deployment-specific steps

When the above workflow runs, the deployment job will be subject to any rules configured for the production environment. For example, if the environment requires reviewers, the job will pause until one of the reviewers approves the job.

You can also specify a URL for the environment. The specified URL will appear on the deployments page for the repository (accessed by clicking Environments on the home page of your repository) and in the visualization graph for the workflow run. If a pull request triggered the workflow, the URL is also displayed as a View deployment button in the pull request timeline.

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

Workflow graph with URL

環境の削除

To configure an environment in a personal account repository, you must be the repository owner. Organizationのリポジトリで環境を設定するには、adminアクセス権を持っていなければなりません。

環境を削除すると、その環境に関連づけられたすべてのシークレットと保護ルールが削除されます。 削除された環境の保護ルールのために待機していたジョブは、自動的に失敗します。

  1. GitHub Enterprise Serverインスタンスで、リポジトリのメインページにアクセスしてく� さい。
  2. リポジトリ名の下で Settings(設定)をクリックしてく� さい。 リポジトリの設定ボタン
  3. 左のサイドバーで Environments(環境)をクリックしてく� さい。
  4. 削除する環境の横にある をクリックします。
  5. I understand, delete this environment(分かりました、この環境を削除してく� さい)をクリックしてく� さい。

How environments relate to deployments

When a workflow job that references an environment runs, it creates a deployment object with the environment property set to the name of your environment. As the workflow progresses, it also creates deployment status objects with the environment property set to the name of your environment, the environment_url property set to the URL for environment (if specified in the workflow), and the state property set to the status of the job.

You can access these objects through the REST API or GraphQL API. You can also subscribe to these webhook events. For more information, see "Repositories" (REST API), "Objects" (GraphQL API), or "Webhook events and payloads."

次のステップ

GitHub Actions provides several features for managing your deployments. For more information, see "Deploying with GitHub Actions."