定義済み環境変数のリファレンス

環境変数の導入については、環境変数入門をお読みください。

いくつかの定義済み環境変数は、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-9a-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 ジョブが使い捨て環境 (このジョブのためだけに作成され、実行後に破棄されるもの -shellsshを除くすべての 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 すべて マージリクエストパイプラインの場合、マージリクエストのイベントタイプ。detachedmerged_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_NAMEproject-1となります。
CI_PROJECT_NAMESPACE 8.10 0.5 現在ビルド中のプロジェクトの名前空間(ユーザー名またはグループ名
CI_PROJECT_ROOT_NAMESPACE 13.2 0.5 現在ビルド中のルートプロジェクトの名前空間(ユーザー名またはグループ名)。 たとえば、CI_PROJECT_NAMEroot-group/child-group/grandchild-groupの場合、CI_PROJECT_ROOT_NAMESPACEroot-groupとなります。
CI_PROJECT_PATH 8.10 0.5 プロジェクト名の名前空間
CI_PROJECT_PATH_SLUG 9.3 すべて $CI_PROJECT_PATH を小文字にし、0-9a-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 ジョブが共有環境(shellssh 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 すべて ジョブを開始したユーザーの実名