環境

保護ルールとシークレットを持つ環境を設定できます。 ワークフローのジョブは、環境を参照して、環境の保護ルールとシークレットを利用できます。

GitHub ActionsはGitHub Free、GitHub Pro、GitHub FreeのOrganization、GitHub Team、GitHub Enterprise Cloud、GitHub AEで利用できます。 GitHub Actionsは、レガシーのリポジトリごとのプランを使っているアカウントが所有しているプライベートリポジトリでは利用できません。 環境、環境保護ルール、環境シークレットはすべての製品のパブリックリポジトリ、GitHub Enterpriseのプライベートリポジトリで利用できます。

環境について

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

環境の保護ルール

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

必須のレビュー担当者

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

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

待機タイマー

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

環境のシークレット

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

注釈: セルフホストランナーで実行されるワークフローは、環境を使用している場合でも、分離されたコンテナでは実行されません。 環境シークレットは、リポジトリおよび Organization シークレットと同じレベルのセキュリティで処理する必要があります。 詳しい情報については「GitHub Actionsのためのセキュリティ強化」を参照してください。

環境の作成

ユーザ アカウントのリポジトリで環境を設定するには、リポジトリのオーナーである必要があります。 Organizationのリポジトリで環境を設定するには、adminアクセス権を持っていなければなりません。

  1. GitHub Enterprise Serverで、リポジトリのメインページにアクセスしてください。
  2. リポジトリ名の下で Settings(設定)をクリックしてください。 リポジトリの設定ボタン
  3. 左のサイドバーで Environments(環境)をクリックしてください。
  4. New environment(新しい環境)をクリックしてください。
  5. 環境の名前を入力し、Configure environment(環境を設定)をクリックしてください。 環境名では、大文字と小文字は区別されません。 環境名は255文字を超えてはならず、リポジトリ内でユニークでなければなりません。
  6. 環境保護ルールあるいは環境のシークレットを設定してください。

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

環境の参照

ワークフロー内の各ジョブは、1つの環境を参照できます。 この環境を参照するとジョブがランナーに送信される前に、環境に設定された保護ルールをパスしなければなりません。 ジョブがランナーに送信されると、ジョブは環境のシークレットにアクセスできます。

ワークフローで環境を参照するための構文に関する詳しい情報については「GitHub Actionsのワークフロー構文」を参照してください。 必須のレビュー担当者を持つ環境を参照しているジョブのレビューに関する詳しい情報については「デプロイメントのレビュー」を参照してください。

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

並行処理を使用して環境内のデプロイメントをシリアライズする

並行処理では、環境で一度に最大 1 つのデプロイメントが進行中で、1 つのデプロイメントが保留になるようにすることができます。 詳しい情報については、「GitHub Actionsのワークフロー構文」を参照してください。

環境の削除

ユーザ アカウントのリポジトリで環境を設定するには、リポジトリのオーナーである必要があります。 Organizationのリポジトリで環境を設定するには、adminアクセス権を持っていなければなりません。

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

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

このドキュメントは役立ちましたか?プライバシーポリシー

これらのドキュメントを素晴らしいものにするのを手伝ってください!

GitHubのすべてのドキュメントはオープンソースです。間違っていたり、はっきりしないところがありましたか?Pull Requestをお送りください。

コントリビューションを行う

OR, コントリビューションの方法を学んでください。

問題がまだ解決していませんか?

GitHubコミュニティで質問するサポートへの連絡