定義済み環境変数のリファレンス
環境変数の導入については、環境変数入門をお読みください。
いくつかの定義済み環境変数は、GitLab Runnerの最小バージョン以上が使用されている場合にのみ利用可能です。 必要なRunnerのバージョンを確認するには、以下の表を参照してください。
注: GitLab 9.0から、いくつかの変数が非推奨になりました。9.0 Renamingセクションを読んで、それらの代替を確認してください。 今後のGitLabリリースで古い変数は削除されるので、新しい変数を使うことを強くお勧めします。
ジョブで使用可能なすべての変数の値を出力するコマンドを.gitlab-ci.yml
ファイルに追加することができます。
Kubernetes固有の環境変数については、Kubernetesデプロイ変数のセクションで詳しく説明しています。
変数 | GitLab | Runner | 説明 |
---|---|---|---|
CHAT_CHANNEL
| 10.6 | すべて | ChatOpsコマンドをトリガーしたソースチャットチャンネル |
CHAT_INPUT
| 10.6 | すべて | ChatOpsコマンドで渡される追加引数 |
CI
| すべて | 0.4 | CI 環境でジョブが実行されることを示します。 |
CI_API_V4_URL
| 11.7 | すべて | GitLab API v4 のルート URL |
CI_BUILDS_DIR
| すべて | 11.10 | ビルドが実行されるトップレベルのディレクトリ。 |
CI_COMMIT_BEFORE_SHA
| 11.2 | すべて | ブランチに存在する直前の最新コミット。マージリクエストのパイプラインでは常に0000000000000000000000000000000000000000 となります。
|
CI_COMMIT_DESCRIPTION
| 10.8 | すべて | コミットの説明: タイトルが100文字より短い場合は、最初の行を除いたメッセージ。 |
CI_COMMIT_MESSAGE
| 10.8 | すべて | コミットメッセージの全文です。 |
CI_COMMIT_REF_NAME
| 9.0 | すべて | プロジェクトがビルドされるブランチ名またはタグ名 |
CI_COMMIT_REF_PROTECTED
| 11.11 | すべて |
true ジョブが保護された参照で実行されている場合、false 。
|
CI_COMMIT_REF_SLUG
| 9.0 | すべて |
$CI_COMMIT_REF_NAME を小文字にし、63バイトに短縮し、0-9 とa-z 以外を- に置き換えます。 先頭/末尾に .は付けません。 URL、ホスト名、ドメイン名で使用します。
|
CI_COMMIT_SHA
| 9.0 | すべて | プロジェクトがビルドされるコミットリビジョン |
CI_COMMIT_SHORT_SHA
| 11.7 | すべて |
CI_COMMIT_SHA の最初の8文字
|
CI_COMMIT_BRANCH
| 12.6 | 0.5 | コミットブランチ名。 ブランチをビルドするときにのみ表示されます。 |
CI_COMMIT_TAG
| 9.0 | 0.5 | コミットのタグ名。 タグでビルドするときにのみ存在します。 |
CI_COMMIT_TITLE
| 10.8 | すべて | コミットのタイトル、すなわち、メッセージの最初の行全体 |
CI_CONCURRENT_ID
| すべて | 11.10 | 単一 executor 内のビルド実行の固有 ID。 |
CI_CONCURRENT_PROJECT_ID
| すべて | 11.10 | 1つのexecutorとプロジェクト内のビルド実行のユニークID。 |
CI_CONFIG_PATH
| 9.4 | 0.5 | CI 設定ファイルへのパス。 デフォルトは.gitlab-ci.yml
|
CI_DEBUG_TRACE
| すべて | 1.7 | デバッグ・ロギング(トレース)が有効かどうか |
CI_DEFAULT_BRANCH
| 12.4 | すべて | プロジェクトのデフォルトブランチの名前。 |
CI_DEPLOY_PASSWORD
| 10.8 | すべて | GitLabデプロイトークンの認証パスワード。プロジェクトに GitLab デプロイトークンが関係している場合のみ存在します。 |
CI_DEPLOY_USER
| 10.8 | すべて | GitLabデプロイトークンの認証ユーザー名。プロジェクトに GitLab デプロイトークンが関係している場合のみ存在します。 |
CI_DISPOSABLE_ENVIRONMENT
| すべて | 10.1 | ジョブが使い捨て環境 (このジョブのためだけに作成され、実行後に破棄されるもの -shell とssh を除くすべての executor ) で実行されることを示します。 環境が使い捨ての場合、true がセットされ、そうでない場合は全く定義されません。
|
CI_ENVIRONMENT_NAME
| 8.15 | すべて | このジョブの環境名。environment:name が設定されている場合のみ存在します。
|
CI_ENVIRONMENT_SLUG
| 8.15 | すべて | DNS、URL、Kubernetes ラベルなどに含めるのに適した環境名の簡易版。environment:name が設定されている場合にのみ存在します。
|
CI_ENVIRONMENT_URL
| 9.3 | すべて | このジョブの環境のURL。environment:url が設定されている場合のみ存在します。
|
CI_EXTERNAL_PULL_REQUEST_IID
| 12.3 | すべて |
パイプラインが外部からのプルリクエストの場合、GitHub からのプルリクエスト ID。only: [external_pull_requests] またはrules 構文が使用され、プルリクエストがオープンされている場合のみ利用可能です。
|
CI_EXTERNAL_PULL_REQUEST_SOURCE_BRANCH_NAME
| 12.3 | すべて |
パイプラインが外部からのプルリクエストの場合、プルリクエストのソースブランチ名。only: [external_pull_requests] またはrules 構文が使用されていて、プルリクエストがオープンされている場合にのみ利用可能です。
|
CI_EXTERNAL_PULL_REQUEST_SOURCE_BRANCH_SHA
| 12.3 | すべて |
パイプラインが外部からのプルリクエストの場合、プルリクエストのソースブランチの HEAD SHA。only: [external_pull_requests] またはrules 構文が使用されており、プルリクエストがオープンされている場合のみ利用可能です。
|
CI_EXTERNAL_PULL_REQUEST_TARGET_BRANCH_NAME
| 12.3 | すべて |
パイプラインが外部からのプルリクエストの場合は、プルリクエストのターゲットブランチ名。only: [external_pull_requests] またはrules 構文が使用されていて、プルリクエストがオープンされている場合にのみ利用可能です。
|
CI_EXTERNAL_PULL_REQUEST_TARGET_BRANCH_SHA
| 12.3 | すべて |
パイプラインが外部からプルリクエストの場合、プルリクエストのターゲットブランチの HEAD SHA。only: [external_pull_requests] またはrules 構文が使用されており、プルリクエストがオープンされている場合のみ利用可能です。
|
CI_HAS_OPEN_REQUIREMENTS
| 13.1 | すべて | パイプラインのプロジェクトに未解決の要件がある場合のみ、true の値に含まれます。パイプラインのプロジェクトに未解決の要件がない場合は含まれません。
|
CI_JOB_ID
| 9.0 | すべて | GitLab CI/CDが内部で使用する現在のジョブの一意なID |
CI_JOB_IMAGE
| 12.9 | 12.9 | CIジョブを実行するイメージの名前 |
CI_JOB_MANUAL
| 8.12 | すべて | ジョブが手動で開始されたことを示すフラグ |
CI_JOB_NAME
| 9.0 | 0.5 |
.gitlab-ci.yml で定義されているジョブ名。
|
CI_JOB_STAGE
| 9.0 | 0.5 |
.gitlab-ci.yml で定義されているステージ名。
|
CI_JOB_TOKEN
| 9.0 | 1.2 | GitLabコンテナレジストリでの認証、依存リポジトリのダウンロード、GitLabが管理するTerraformのステートへのアクセスに使用するトークンです。 |
CI_JOB_JWT
| 12.10 | すべて | HashiCorpのVaultなど、JWT認証をサポートするサードパーティシステムとの認証に使用できるRS256 JSONウェブトークン。 |
CI_JOB_URL
| 11.1 | 0.5 | ジョブ詳細URL |
CI_KUBERNETES_ACTIVE
| 13.0 | すべて | パイプラインのデプロイ可能なKubernetesクラスタがある場合のみ、値true が含まれます。 クラスタがない場合は含まれません。only:kubernetes /except:kubernetes の代替として rules:if で使用できます。
|
CI_MERGE_REQUEST_ASSIGNEES
| 11.9 | すべて |
マージリクエストパイプラインの場合、マージリクエストの担当者のユーザー名のカンマ区切りリスト。only: [merge_requests] またはrules 構文が使用され、マージリクエストが作成された場合のみ利用可能です。
|
CI_MERGE_REQUEST_ID
| 11.6 | すべて | プロジェクトレベルでのマージリクエストのID。 マージリクエストパイプラインの場合、マージリクエストが作成された場合にのみ使用できます。 |
CI_MERGE_REQUEST_IID
| 11.6 | すべて | インスタンスレベルでのマージリクエストのID。 マージリクエストパイプラインの場合、マージリクエストが作成された場合のみ使用できます。 |
CI_MERGE_REQUEST_LABELS
| 11.9 | すべて |
マージリクエストパイプラインの場合、マージリクエストのカンマ区切りのラベル名。only: [merge_requests] またはrules 構文が使用され、マージリクエストが作成された場合のみ使用できます。
|
CI_MERGE_REQUEST_MILESTONE
| 11.9 | すべて |
マージリクエストパイプラインの場合、マージリクエストのマイルストーンタイトル。only: [merge_requests] またはrules 構文が使用され、マージリクエストが作成された場合のみ使用できます。
|
CI_MERGE_REQUEST_PROJECT_ID
| 11.6 | すべて |
マージリクエストパイプラインの場合、マージリクエストのプロジェクトの ID。only: [merge_requests] またはrules 構文が使用され、マージリクエストが作成された場合のみ使用できます。
|
CI_MERGE_REQUEST_PROJECT_PATH
| 11.6 | すべて |
マージリクエストパイプラインの場合、マージリクエストのプロジェクトのパス (例:namespace/awesome-project )。only: [merge_requests] またはrules 構文が使用され、マージリクエストが作成された場合のみ利用可能です。
|
CI_MERGE_REQUEST_PROJECT_URL
| 11.6 | すべて |
マージリクエストパイプラインの場合、マージリクエストのプロジェクトの URL (例:http://192.168.10.15:3000/namespace/awesome-project )。only: [merge_requests] またはrules 構文が使用され、マージリクエストが作成された場合のみ利用可能です。
|
CI_MERGE_REQUEST_REF_PATH
| 11.6 | すべて |
マージリクエストパイプラインの場合、マージリクエストの参照パス。 (例:refs/merge-requests/1/head ).only: [merge_requests] またはrules 構文が使用され、マージリクエストが作成された場合のみ利用可能です。
|
CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
| 11.6 | すべて |
マージリクエストパイプラインの場合、マージリクエストのソースブランチ名。only: [merge_requests] またはrules 構文が使用され、マージリクエストが作成された場合のみ使用できます。
|
CI_MERGE_REQUEST_SOURCE_BRANCH_SHA
| 11.9 | すべて |
マージリクエストパイプラインの場合、マージリクエストのソースブランチの HEAD SHA。only: [merge_requests] またはrules 構文が使用され、マージリクエストが作成され、パイプラインがマージ結果パイプラインである場合にのみ使用できます。
|
CI_MERGE_REQUEST_SOURCE_PROJECT_ID
| 11.6 | すべて |
マージリクエストパイプラインの場合、マージリクエストのソースプロジェクトの ID。only: [merge_requests] またはrules 構文が使用され、マージリクエストが作成された場合のみ使用できます。
|
CI_MERGE_REQUEST_SOURCE_PROJECT_PATH
| 11.6 | すべて |
マージリクエストパイプラインの場合、マージリクエストのソースプロジェクトのパス。only: [merge_requests] またはrules 構文が使用され、マージリクエストが作成された場合のみ使用できます。
|
CI_MERGE_REQUEST_SOURCE_PROJECT_URL
| 11.6 | すべて |
マージリクエストパイプラインの場合、マージリクエストのソースプロジェクトの URL。only: [merge_requests] またはrules 構文が使用され、マージリクエストが作成された場合のみ使用できます。
|
CI_MERGE_REQUEST_TARGET_BRANCH_NAME
| 11.6 | すべて |
マージリクエストパイプラインの場合、マージリクエストのターゲットブランチ名。only: [merge_requests] またはrules 構文が使用され、マージリクエストが作成された場合のみ使用できます。
|
CI_MERGE_REQUEST_TARGET_BRANCH_SHA
| 11.9 | すべて |
マージリクエストパイプラインの場合、マージリクエストのターゲットブランチの HEAD SHA。only: [merge_requests] またはrules 構文が使用され、マージリクエストが作成され、パイプラインがマージ結果パイプラインである場合にのみ使用できます。
|
CI_MERGE_REQUEST_TITLE
| 11.9 | すべて |
マージリクエストパイプラインの場合、マージリクエストのタイトル。only: [merge_requests] またはrules 構文が使用され、マージリクエストが作成された場合のみ使用できます。
|
CI_MERGE_REQUEST_EVENT_TYPE
| 12.3 | すべて |
マージリクエストパイプラインの場合、マージリクエストのイベントタイプ。detached 、merged_result またはmerge_train のいずれか。
|
CI_NODE_INDEX
| 11.5 | すべて | ジョブセット内のジョブのインデックス。 ジョブが並列化されていない場合、この変数は設定されません。 |
CI_NODE_TOTAL
| 11.5 | すべて | このジョブが並列実行されているインスタンスの総数。 ジョブが並列化されていない場合、この変数は1 に設定されます。
|
CI_PAGES_DOMAIN
| 11.8 | すべて | GitLab Pagesをホストする設定済みのドメイン。 |
CI_PAGES_URL
| 11.8 | すべて | 構築したGitLab Pagesの URL。常にCI_PAGES_DOMAIN のサブドメインに属します。
|
CI_PIPELINE_ID
| 8.10 | すべて | GitLab CI/CDが内部で使用する現在のパイプラインの一意のID |
CI_PIPELINE_IID
| 11.0 | すべて | プロジェクトにスコープされた現在のパイプラインの一意のID。 |
CI_PIPELINE_SOURCE
| 10.0 | すべて | パイプラインがどのようにトリガーされたかを示します。 可能なオプションは、push ,web ,schedule ,api ,external ,chat ,webide ,merge_request_event ,external_pull_request_event ,parent_pipeline ,trigger , またはpipeline (13.0 からcross_project_pipeline に改名) です。 GitLab 9.5 より前に作成されたパイプラインでは、unknown と表示されます。
|
CI_PIPELINE_TRIGGERED
| すべて | すべて | ジョブがトリガーされたことを示すフラグ |
CI_PIPELINE_URL
| 11.1 | 0.5 | パイプライン詳細のURL |
CI_PROJECT_DIR
| すべて | すべて | リポジトリがクローンされ、ジョブが実行されるフルパス。 GitLab Runnerbuilds_dir パラメータが設定されている場合、この変数は. builds_dir 値に相対的に設定されます。 詳細については、GitLab Runnerの詳細設定を参照してください。
|
CI_PROJECT_ID
| すべて | すべて | GitLab CI/CDが内部で使用する現在のプロジェクトのユニークID |
CI_PROJECT_NAME
| 8.10 | 0.5 | 現在ビルド中のプロジェクトのディレクトリ名。 例えば、プロジェクトの URL がgitlab.example.com/group-name/project-1 の場合、CI_PROJECT_NAME はproject-1 となります。
|
CI_PROJECT_NAMESPACE
| 8.10 | 0.5 | 現在ビルド中のプロジェクトの名前空間(ユーザー名またはグループ名 |
CI_PROJECT_ROOT_NAMESPACE
| 13.2 | 0.5 | 現在ビルド中のルートプロジェクトの名前空間(ユーザー名またはグループ名)。 たとえば、CI_PROJECT_NAME がroot-group/child-group/grandchild-group の場合、CI_PROJECT_ROOT_NAMESPACE はroot-group となります。
|
CI_PROJECT_PATH
| 8.10 | 0.5 | プロジェクト名の名前空間 |
CI_PROJECT_PATH_SLUG
| 9.3 | すべて |
$CI_PROJECT_PATH を小文字にし、0-9 とa-z 以外を- に置き換えます。 URL とドメイン名で使用します。
|
CI_PROJECT_REPOSITORY_LANGUAGES
| 12.3 | すべて | リポジトリで使用されている言語をカンマ区切りで小文字にしたリスト (例:ruby,javascript,html,css )
|
CI_PROJECT_TITLE
| 12.4 | すべて | GitLab ウェブインタフェースに表示される、人間が読めるプロジェクト名。 |
CI_PROJECT_URL
| 8.10 | 0.5 | プロジェクトにアクセスするための HTTP(S) アドレス。 |
CI_PROJECT_VISIBILITY
| 10.3 | すべて | プロジェクトの可視性(内部、非公開、公開) |
CI_REGISTRY
| 8.10 | 0.5 | コンテナレジストリが有効な場合、GitLab のコンテナレジストリのアドレスを返します。 この変数には、レジストリ設定で指定されている場合は:port の値が含まれます。
|
CI_REGISTRY_IMAGE
| 8.10 | 0.5 | コンテナレジストリがプロジェクトで有効になっている場合は、特定のプロジェクトに関連付けられているレジストリのアドレスを返します。 |
CI_REGISTRY_PASSWORD
| 9.0 | すべて | 現在のプロジェクトのコンテナを GitLab コンテナレジストリにプッシュする際に使用するパスワード。 |
CI_REGISTRY_USER
| 9.0 | すべて | 現在のプロジェクトのコンテナを GitLab コンテナレジストリにプッシュする際に使用するユーザー名。 |
CI_REPOSITORY_URL
| 9.0 | すべて | Git リポジトリをクローンするための URL。 |
CI_RUNNER_DESCRIPTION
| 8.10 | 0.5 | GitLabに保存されているRunnerの説明 |
CI_RUNNER_EXECUTABLE_ARCH
| すべて | 10.6 | GitLab Runner実行ファイルのOS/アーキテクチャ(これは必ずしもexecutorの環境と同じではないことに注意してください。) |
CI_RUNNER_ID
| 8.10 | 0.5 | 使用するRunnerの固有ID |
CI_RUNNER_REVISION
| すべて | 10.6 | 現在のジョブを実行しているGitLab Runnerリビジョン |
CI_RUNNER_SHORT_TOKEN
| すべて | 12.3 | 新しいジョブリクエストを認証するために使用されるGitLab Runnerのトークンの最初の8文字。 RunnerのユニークIDとして使用されます。 |
CI_RUNNER_TAGS
| 8.10 | 0.5 | 定義されたRunnerタグ |
CI_RUNNER_VERSION
| すべて | 10.6 | 現在のジョブを実行しているGitLab Runnerのバージョン |
CI_SERVER
| すべて | すべて | CI 環境でジョブが実行されることを示します。 |
CI_SERVER_URL
| 12.7 | すべて | (https://gitlab.example.com:8080 のように)プロトコルとポートを含む GitLab インスタンスのベース URL
|
CI_SERVER_HOST
| 12.1 | すべて | GitLab インスタンス URL の Host コンポーネント。(gitlab.example.com のように)プロトコルとポートを除きます。
|
CI_SERVER_PORT
| 12.8 | すべて | GitLab インスタンス URL の Port コンポーネント。(3000 のように)ホストとプロトコルは含まれません。
|
CI_SERVER_PROTOCOL
| 12.8 | すべて | GitLabインスタンスURLのプロトコルコンポーネントで、(https のように)ホストとポートを除いたもの
|
CI_SERVER_NAME
| すべて | すべて | ジョブを調整するために使用されるCIサーバーの名前 |
CI_SERVER_REVISION
| すべて | すべて | ジョブのスケジューリングに使用されるGitLabリビジョン |
CI_SERVER_VERSION
| すべて | すべて | ジョブのスケジューリングに使用するGitLabのバージョン |
CI_SERVER_VERSION_MAJOR
| 11.4 | すべて | GitLabバージョンのメジャー番号 |
CI_SERVER_VERSION_MINOR
| 11.4 | すべて | GitLabバージョンのマイナー番号 |
CI_SERVER_VERSION_PATCH
| 11.4 | すべて | GitLab バージョンのパッチ番号 |
CI_SHARED_ENVIRONMENT
| すべて | 10.1 | ジョブが共有環境(shell やssh executor のような CI の呼び出しにまたがって永続化されるもの)で実行されることをマークします。 環境が共有される場合、true がセットされ、そうでない場合は全く定義されません。
|
GITLAB_CI
| すべて | すべて | GitLab CI/CD環境でジョブが実行されることを示します。 |
GITLAB_FEATURES
| 10.6 | すべて | インスタンスとプランで利用可能なライセンス機能のコンマ区切りリスト |
GITLAB_USER_EMAIL
| 8.12 | すべて | ジョブを開始したユーザーのEメール |
GITLAB_USER_ID
| 8.12 | すべて | ジョブを開始したユーザーのID |
GITLAB_USER_LOGIN
| 10.0 | すべて | ジョブを開始したユーザーのログインユーザー名 |
GITLAB_USER_NAME
| 10.0 | すべて | ジョブを開始したユーザーの実名 |