環境変数の利用
GitHubはGitHub Actionsワークフローの実行ごとにデフォルトの環境変数を設定しますが、ワークフローファイル中でカスタムの環境変数を設定することもできます。
GitHub Actions is available with GitHub Free, GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. GitHub Actions is unavailable for per-repository plans, which are legacy billing plans. For more information, see "GitHub's products."
ここには以下の内容があります:
環境変数について
GitHubは、ワークフローの実行におけるどのステップでも使用できる、デフォルトの環境変数を設定します。 環境変数では、大文字小文字は区別されます。 アクションあるいはステップ内のコマンド実行は、環境変数を作成、読み取り、変更することができます。
カスタムの環境変数を設定するには、ワークフローファイル中でその変数を指定しなければなりません。 ステップ、ジョブ、あるいはワークフロー全体に対する環境変数は、jobs.<job_id>.steps.env
、jobs.<job_id>.env
、 env
というキーワードを使って定義できます。 詳しい情報については、「GitHubのワークフロー構文」を参照してください。
steps:
- name: Hello world
run: echo Hello world $FIRST_NAME $middle_name $Last_Name!
env:
FIRST_NAME: Mona
middle_name: The
Last_Name: Octocat
デフォルトの環境変数
アクションでは、ファイルシステムにアクセスするとき、ハードコードされたファイルパスを使うのではなく環境変数を使用することを強くお勧めします。 GitHubは、すべての環境変数でアクションが使用する環境変数を設定します。
環境変数 | 説明 |
---|---|
HOME |
ユーザーデータの格納に使用されるGitHubホームディレクトリのパス。 たとえば、/github/home です。 |
GITHUB_WORKFLOW |
ワークフローの名前。 |
GITHUB_ACTION |
アクションの一意の識別子 (id )。 |
GITHUB_ACTIONS |
GitHub Actionsがワークフローを実行しているときは常にtrue に設定されます。 この変数は、テストがローカルで実行されているときと、GitHub Actionsによって実行されているときを区別するために利用できます。 |
GITHUB_ACTOR |
ワークフローを開始するユーザーまたはアプリの名前。 octocat などです。 |
GITHUB_REPOSITORY |
所有者およびリポジトリの名前。 octocat/Hello-World などです。 |
GITHUB_EVENT_NAME |
ワークフローをトリガーしたwebhookイベントの名前。 |
GITHUB_EVENT_PATH |
完了したwebhookイベントペイロードのファイルのパス。 /github/workflow/event.json などです。 |
GITHUB_WORKSPACE |
GitHubワークスペースディレクトリのパス。 ワークフローがactions/checkoutアクションを使用している場合、ワークスペースディレクトリには、リポジトリのコピーがあるサブディレクトリが含まれています。 actions/checkout アクションを使用していない場合、ディレクトリは空となります。 たとえば、/home/runner/work/my-repo-name/my-repo-name となります。 |
GITHUB_SHA |
ワークフローをトリガーしたコミットSHA。 たとえば、ffac537e6cbbf934b08745a378932722df287a53 です。 |
GITHUB_REF |
ワークフローをトリガーしたブランチまたはタグref。 たとえば、refs/heads/feature-branch-1 です。 イベントタイプのブランチもタグも利用できない場合、変数は存在しません。 |
GITHUB_HEAD_REF |
フォークしたリポジトリのみに設定。 headリポジトリのブランチです。 |
GITHUB_BASE_REF |
フォークしたリポジトリのみに設定。 ベースリポジトリのブランチです。 |
環境変数の命名規則
メモ: GitHubでは、GITHUB_
という環境変数接頭辞は、GitHubが内部で使用するために予約されています。 GITHUB_
接頭辞を使用して環境変数またはシークレットを設定すると、エラーになります。
ファイルシステム上の場所にそのポイントを設定した新しい環境変数がある場合は、_PATH
接尾辞を指定する必要があります。 デフォルトの変数HOME
とGITHUB_WORKSPACE
は、「home」および「workspace」という言葉で最初から場所がわかっているため、この規則の例外です。