「みんなの翻訳」は情報通信研究機構多言語翻訳研究室と東京大学図書館情報学研究室による共同プロジェクトであり、三省堂と国立情報学研究所連想情報学研究開発センターが開発に協力しています。
GitLab Documentation>GitLab Continuous Integration (GitLab CI)>GitLab CI/CDで使えるAPI変数
GitLab ランナーは、CIから送られてきたjobをもとに、ビルド環境を整えます。
このページでは、定義済み変数(環境変数)とユーザー定義変数のリストを掲載しています。
変数の優先順位
変数には優先順位があります。
次の順位に従って、変数に設定された内容が上書きされる場合があります。
たとえば、
「API_TOKEN=secure」秘密変数としての設定と、「API_TOKEN=yaml」.gitlab-ci.ymlファイルに記述した設定の両方があるのなら、
より高い方の優先度が適用されることになるので、
「API_TOKEN=secure」が設定として通用されます。
定義済み変数(環境変数)
定義済み環境変数のなかには、GitLab Runnerの最初期バージョンから使われているものもあります。
それからバージョンが進むにつれていくつもの変数が追加されました。
以下の表は、ランナーで使用可能な変数と、必要とされるバージョン数を示しています。
注:GitLab 9.0以降では、いくつかの変数が機能から除外されました。それについては、あとから『バージョン9.0の変更点』という章で説明します。
以下に示す変数のうち、古いものは将来のバージョンで使用不可になる可能性があります。変数はなるべく新しいものを使うことを強くお勧めします。
変数 | GitLabのバージョン | Runnerのバージョン | 説明 |
---|---|---|---|
CI | 全バージョン | 0.4 | CI環境で実行されるjobを表す |
CI_COMMIT_REF_NAME | 9.0 | 全バージョン | ビルドしているプロジェクトのブランチ、もしくはタグ名 |
CI_COMMIT_REF_SLUG | 9.0 | 全バージョン | $CI_COMMIT_REF_NAME を全てアルファベットの小文字(a~z)にして63バイト以内に短縮化したもの。半角数字(0~9)とその他記号(/,~, - など)は使えない。ホスト名やドメイン名などのURLを代入することが多い。 |
CI_COMMIT_SHA | 9.0 | 全バージョン | ビルドしているプロジェクトのコミット改案 |
CI_COMMIT_TAG | 9.0 | 0.5 | コミットタグ名。タグをビルドする時にだけ使われる |
CI_CONFIG_PATH | 9.4 | 0.5 | どのファイルをCIコンフィグとして使うかを定めるパス。デフォルトでは「.gitlab-ci.yml」 |
CI_DEBUG_TRACE | 全バージョン | 1.7 | デバッグ・トレーシングを有効にするか |
CI_DISPOSABLE_ENVIRONMENT | 全バージョン | 10.1 | 使い捨て環境で実行されたjobを表す。(そのjobためだけに作成され、job実行後は破棄・破壊される環境が、ほぼすべての実行プログラムに存在する。ただし、shellとsshは除く。)環境を使い捨てる場合は、「true」に設定する。デフォルトでは何も定義されていない。 |
CI_ENVIRONMENT_NAME | 8.15 | 全バージョン | jobを実行する環境名 |
CI_ENVIRONMENT_SLUG | 8.15 | 全バージョン | 簡略化した環境名。DNS、URL、Kubernetes labelなどを代入する |
CI_ENVIRONMENT_URL | 9.3 | 全バージョン | jobを実行する環境のURL |
CI_JOB_ID | 9.0 | 全バージョン | 現在のjobを識別する独自ID。GitLab CIが内部で使用する。 |
CI_JOB_MANUAL | 8.12 | 全バージョン | 手動で開始するjobを示すフラグ |
CI_JOB_NAME | 9.0 | 0.5 | gitlab-ci.ymlで定義されたjobの名前 |
CI_JOB_STAGE | 9.0 | 0.5 | gitlab-ci.ymlで定義されたステージの名前 |
CI_JOB_TOKEN | 9.0 | 1.2 | itLab Container Registryを認証させるときに使うトークン。 トリガーを伴う、マルチプロジェクト・パイプラインの認証にも使われる。 |
CI_REPOSITORY_URL | 9.0 | 全バージョン | クローンするgitレポジトリのURL |
CI_RUNNER_DESCRIPTION | 8.10 | 0.5 | GitLabに保存したランナーを表す |
CI_RUNNER_ID | 8.10 | 0.5 | 使用中のランナーの独自ID |
CI_RUNNER_TAGS | 8.10 | 0.5 | ランナーのタグを定義する |
CI_PIPELINE_ID | 8.10 | 0.5 | GitLab CIが現在内部で使用しているパイプラインの独自ID |
CI_PIPELINE_SOURCE | 9.3 | 全バージョン | (EEP版のみの機能) イプラインがどのように発動するように設定されているか、使用可能なオプション(push, web, trigger, schedule, api, pipeline)はどれかを表示する。 |
CI_PIPELINE_TRIGGERED | 全バージョン | 全バージョン | トリガーを設定されたjobを示すフラグ |
CI_PIPELINE_SOURCE | 10.0 | 全バージョン | パイプラインの元情報。(例:push, web, trigger, schedule, api, external) 9.5以前に作られたパイプラインにおいては、ソースからして分からない |
CI_PROJECT_DIR | 全バージョン | 全バージョン | クローンしたレポジトリと、実行されるjobとにつながっているフルパス |
CI_PROJECT_ID | 全バージョン | 全バージョン | 現在のプロジェクトを識別する独自ID。GitLab CIが内部で使用する。 |
CI_PROJECT_NAME | 8.10 | 0.5 | 現在ビルド中のプロジェクト名(厳密にいえばプロジェクトのフォルダ名) |
CI_PROJECT_NAMESPACE | 8.10 | 0.5 | 現在ビルドされているプロジェクトの名前空間(ユーザー名あるいはグループ名) |
CI_PROJECT_PATH | 8.10 | 0.5 | プロジェクト名自体の名前空間 |
CI_PROJECT_PATH_SLUG | 9.3 | 全バージョン | $CI_PROJECT_PATHを全てアルファベット(a~z)の小文字にして短縮化したもの。半角数字(0~9)と( - )は使えない。 ホスト名やドメイン名などのURLを代入することが多い。 |
CI_PROJECT_URL | 8.10 | 0.5 | プロジェクトにアクセスするために使うHTTPアドレス |
CI_PROJECT_VISIBILITY | 10.3 | 全バージョン | プロジェクトのアクセス権の状態(internal, private, public) |
CI_REGISTRY | 8.10 | 0.5 | GitLabの どの Container Registryを使用するかをアドレスで示す。Container Registryを許可している場合のみ有効。 |
CI_REGISTRY_IMAGE | 8.10 | 0.5 | 特定のプロジェクトでGitLabの どの Container Registryを使用するかをアドレスで示す。Container Registryを許可している場合のみ有効。 |
CI_REGISTRY_PASSWORD | 9.0 | 全バージョン | GitLab Container Registryにコンテナをプッシュする時に使われるパスワード |
CI_REGISTRY_USER | 9.0 | 全バージョン | GitLab Container Registryにコンテナをプッシュする時に使われるユーザー名 |
CI_SERVER | 全バージョン | 全バージョン | CI環境で実行されるjobを表す |
CI_SERVER_NAME | 全バージョン | 全バージョン | job同士を調整するCIサーバーの名前 |
CI_SERVER_REVISION | 全バージョン | 全バージョン | jobのスケジュール管理に使われているgitlab revision |
CI_SERVER_VERSION | 全バージョン | 全バージョン | jobのスケジュール管理に使われているgitlabバージョン |
CI_SHARED_ENVIRONMENT | 全バージョン | 10.1 | 共有環境(shellやsshなどの実行プログラムを呼び出しCIに使わせる)において実行されるjobを表す。環境を共有する場合は、「true」に設定する。デフォルトでは何も定義されていない。 |
ARTIFACT_DOWNLOAD_ATTEMPTS | 8.15 | 1.9 | jobを実行している時にダウンロードするアーティファクトの上限数 |
GET_SOURCES_ATTEMPTS | 8.15 | 1.9 | jobを実行している時に引き出すソースの上限数 |
GITLAB_CI | 全バージョン | 全バージョン | GitLab CI環境で実行されたjobを表す |
GITLAB_USER_ID | 8.12 | 全バージョン | jobを開始したユーザーのID |
GITLAB_USER_EMAIL | 8.12 | 全バージョン | jobを開始したユーザーのメールアドレス |
GITLAB_USER_LOGIN | 10.0 | 全バージョン | jobを開始したユーザーのログインユーザー名 |
GITLAB_USER_NAME | 10.0 | 全バージョン | jobを開始したユーザーの実名 |
RESTORE_CACHE_ATTEMPTS | 8.15 | 1.9 | jobを実行する時に復元するキャッシュの個数 |
バージョン9.0の変更点
GitLab9.0以降から「build」の方法が改定されました。
そこで、次の表にある通り、CI変数に変更がありました。
GitLabを「8」から「9」にバージョンアップなさる際には、以下の変数にご注意ください。
注:GitLab 9.0から、「$CI_BUILD_*」から始まる変数は廃止されました。以下に示す変数のうち、古いものは今後のバージョンでの使用が不可となります。
似たような変更が将来のバージョンで発生する可能性がありますので、変数はなるべく新しいものを使うことを強くお勧めします。
8.x までの名称 | 9.0+ 改定後 |
---|---|
CI_BUILD_ID | CI_JOB_ID |
CI_BUILD_REF | CI_COMMIT_SHA |
CI_BUILD_TAG | CI_COMMIT_TAG |
CI_BUILD_REF_NAME | CI_COMMIT_REF_NAME |
CI_BUILD_REF_SLUG | CI_COMMIT_REF_SLUG |
CI_BUILD_NAME | CI_JOB_NAME |
CI_BUILD_STAGE | CI_JOB_STAGE |
CI_BUILD_REPO | CI_REPOSITORY_URL |
CI_BUILD_TRIGGERED | CI_PIPELINE_TRIGGERED |
CI_BUILD_MANUAL | CI_JOB_MANUAL |
CI_BUILD_TOKEN | CI_JOB_TOKEN |
.gitlab-ci.yamlで定義する変数
注:この機能を使うには、GitLab Runner 0.5.0以上、GitLab CI 7.14以上が必要です。
GitLab CIではビルド環境を指定する用途で、「.gitlab-ci.yml」に変数を設定することができます。
これらの変数はレポジトリの中に保存され、プロジェクトそのものの設定に影響を与えることはありません。(例: RAILS_ENV 、DATABASE_URLなど)
グローバル変数(つまり、jobの外側にある変数)は、すべてのコマンドとスクリプト、jobに与えられた変数が実行されてから発動します。
============================================
variables:
DATABASE_URL: "postgres://postgres@postgres/my_database"
============================================
YAML定義変数は、jobを実行する環境を指定するのに使われます。
先にYAML定義変数の宛先(サービスコンテナ)だけは指定しておいて、サービスの内容など細かい設定をあとから行うという使い方も可能です。
変数は、プロジェクト全体にかけられているものと、jobごとにかけられるものとに分類できます。
全体にかけられた変数を特定のjobで適用したくない場合は、jobに次のような空白のカッコを設けてください。
======================
job_name:
variables: {}
======================
変数の中に変数を設ける設定方法もあります。
この場合、変数の中の変数ではない方には「$$」という記号を付けなくてはいけません。
======================
variables:
LS_CMD: 'ls $FLAGS $$TMP_DIR'
FLAGS: '-al'
script:
- 'eval $LS_CMD'
======================
まず、「LS_CMD」という変数が定義されています。
そこには、さらに「$FLAGS」という変数が設けられていまして、
一段下の「 FLAGS: '-al'」にその内容が記述されています。
最後に、「script:」にて、「LS_CMD」を実行するように指示が出ているので、結果的に「'ls -al $TMP_DIR' 」が実行されることになります。
秘密変数(Secret variables)
注:秘密変数をグループごとに使用する機能は、GitLab 9.4から追加されました。
重要:「秘密変数」という名前から、jobのログに記録されないイメージを持たれる方が多いかと思いますが、それは誤りです。
「秘密変数」そのものは、jobのログにちゃんと表示されます。
プロジェクトのビルド工程を外部に公開したくない場合は、プロジェクトの「Pipelines settings」から、パイプラインを「private」に設定してください。
この機能についての議論は、 issue #13784 に詳しく記録されています。
秘密変数は、プロジェクトごと、グループごとに定義することができます。
パイプラインの環境を定義することが可能です。
秘密変数は、プロジェクトのレポジトリの外側に保存されます。よって、「.gitlab-ci.yml」で定義した変数とは別扱いです。
パスワードや、SSHキーと証明書など、外部に公開されてはならないものを主に扱っています。
使い方としては、ちょうど、あまりばれたくない部分を伏字にするイメージです。
プロジェクトごとに秘密変数を設ける場合には、プロジェクトの「Settings > CI/CD」に移動して、「Secret variables」の欄を探します。
グループごとに秘密変数を設ける場合には、グループの「Settings > CI/CD」に移動して、「Secret variables」の欄を探します。
(写真1)「Secret variables」の画像
ここで定義された変数が、グループ内、プロジェクト内において上書きされることはほぼありません。
なので、ここで一度定義した情報は、秘密変数を使用した全てのパイプラインで適用されることになります。
なお、これらの変数をさらに隠す方法はまた別にあります。
それが、保護的秘密変数(Protected secret variables)です。
保護的秘密変数(Protected secret variables)
注:この機能を利用するには、GitLab 9.3以上が必要です。
秘密変数に保護をかける機能があります。
秘密変数を保護している場合、protected branchesあるいはprotected tagsにて、パイプラインを実行しなくてはなりません。
その他のパイプラインでは、変数の保護が受けられません。
プロジェクトごとに秘密変数を設ける場合には、プロジェクトの「Settings > CI/CD」に移動して、「Secret variables」のページを探します。そこで「Protected」の項目にチェックを入れてください。
ここで一度定義した情報は、秘密変数を使用した全てのパイプラインで適用されることになります。
秘密変数の実行環境を限定するには
注:この機能はGitLab Enterprise Edition Premium 9.4にて導入されました。
これは有料EE版のみの機能です。
秘密変数は、実行する環境を限定させることができます。
環境の指定にワイルドカードを使用することも可能です。デフォルトでは「*」と設定されています。これは、環境を定義していなくても、すべてのjobでこの変数が適用されます。
たとえば、環境を「production」と指定したとすると、jobはproduction環境のみで実行されることになります。
ワイルドカード (*) を環境名指定に使うことができます。環境を「review/*」と指定すると、すべてのjobに「review/」から始まる環境名が使われることになります。
デプロイメント変数
注:この機能はGitLab CI 8.15以上が必要です。
プロジェクトのサービスで、デプロイ関係のことを調整しようと思ったら、ビルド環境に変数を設けた方が良い場合があります。
そこで使われるのが、デプロイメント変数は、デプロイメントjobのみに定義することができます。
具体的にどのような変数が使用できるかについては、各説明書を読んでください。
ここでよく使われるのは、 Kubernetes Serviceのプロジェクトです。リンク先にある例示プロジェクトを見て参考にしてください。
デバッグ・トレーシング
注:GitLab Runner 1.7以降に導入。
警告:デバッグトレーシングはセキュリティに深くかかわる事項です。
これを出力することは、ご自分が設定した秘密変数ならびに秘密事項を暴露することにつながります。
これをGitLabサーバーにアップロードすると、jobの追跡が容易になります。
デフォルトでは、GitLabランナーがどのようなjobを処理しているかなどの細かな動作までは公開されないようなっています。この動作により、jobのトレースは短く保たれ、よほど暴露を命じるようなスクリプトを打たないかぎりは、秘密事項は守られています。
しかし、jobが思った通りに動作せず、すぐには問題がわからない状態である場合には、「.gitlab-ci.yml」に、デバッグトレースを開始するような設定をするとうまくいく場合があります。
GitLab Runner v1.7以降では、この機能の登場で、シェルの実行状況、jobで実行されたコマンド類と変数などがトレースされ、延々と表示させられるようにもなりました。
この機能が登場する前は、jobの状況はチームメンバーにしか表示されませんでした。
生成されたjobトレースは、一般の人たちが繰り返して見られないように全て消去しておいたほうが良いでしょう。
デバッグ・トレースを有効にするには、「CI_DEBUG_TRACE」を「true」に設定します。
======================
job_name:
variables:
CI_DEBUG_TRACE: "true"
======================
一部を省略してありますが、次のようなデバッグトレースが表示されるようなります。
(一部誤変換あり。正しい表記は原文を参照してください)
============================================
...
export CI_SERVER_TLS_CA_FILE="/builds/gitlab-examples/ci-debug-trace.tmp/CI_SERVER_TLS_CA_FILE"
if [[ -d "/builds/gitlab-examples/ci-debug-trace/.git" ]]; then
echo $'\''\x1b[32;1mFetching changes...\x1b[0;m'\''
$'\''cd'\'' "/builds/gitlab-examples/ci-debug-trace"
$'\''git'\'' "config" "fetch.recurseSubmodules" "false"
$'\''rm'\'' "-f" ".git/index.lock"
$'\''git'\'' "clean" "-ffdx"
$'\''git'\'' "reset" "--hard"
$'\''git'\'' "remote" "set-url" "origin" "https://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@example.com/gitlab-examples/ci-debug-trace.git"
$'\''git'\'' "fetch" "origin" "--prune" "+refs/heads/*:refs/remotes/origin/*" "+refs/tags/*:refs/tags/*"
else
$'\''mkdir'\'' "-p" "/builds/gitlab-examples/ci-debug-trace.tmp/git-template"
$'\''rm'\'' "-r" "-f" "/builds/gitlab-examples/ci-debug-trace"
$'\''git'\'' "config" "-f" "/builds/gitlab-examples/ci-debug-trace.tmp/git-template/config" "fetch.recurseSubmodules" "false"
echo $'\''\x1b[32;1mCloning repository...\x1b[0;m'\''
$'\''git'\'' "clone" "--no-checkout" "https://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@example.com/gitlab-examples/ci-debug-trace.git" "/builds/gitlab-examples/ci-debug-trace" "--template" "/builds/gitlab-examples/ci-debug-trace.tmp/git-template"
$'\''cd'\'' "/builds/gitlab-examples/ci-debug-trace"
fi
echo $'\''\x1b[32;1mChecking out dd648b2e as master...\x1b[0;m'\''
$'\''git'\'' "checkout" "-f" "-q" "dd648b2e48ce6518303b0bb580b2ee32fadaf045"
'
+++ hostname
++ echo 'Running on runner-8a2f473d-project-1796893-concurrent-0 via runner-8a2f473d-machine-1480971377-317a7d0f-digital-ocean-4gb...'
Running on runner-8a2f473d-project-1796893-concurrent-0 via runner-8a2f473d-machine-1480971377-317a7d0f-digital-ocean-4gb...
++ export CI=true
++ CI=true
++ export CI_DEBUG_TRACE=false
++ CI_DEBUG_TRACE=false
++ export CI_COMMIT_SHA=dd648b2e48ce6518303b0bb580b2ee32fadaf045
++ CI_COMMIT_SHA=dd648b2e48ce6518303b0bb580b2ee32fadaf045
++ export CI_COMMIT_BEFORE_SHA=dd648b2e48ce6518303b0bb580b2ee32fadaf045
++ CI_COMMIT_BEFORE_SHA=dd648b2e48ce6518303b0bb580b2ee32fadaf045
++ export CI_COMMIT_REF_NAME=master
++ CI_COMMIT_REF_NAME=master
++ export CI_JOB_ID=7046507
++ CI_JOB_ID=7046507
++ export CI_REPOSITORY_URL=https://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@example.com/gitlab-examples/ci-debug-trace.git
++ CI_REPOSITORY_URL=https://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@example.com/gitlab-examples/ci-debug-trace.git
++ export CI_JOB_TOKEN=xxxxxxxxxxxxxxxxxxxx
++ CI_JOB_TOKEN=xxxxxxxxxxxxxxxxxxxx
++ export CI_PROJECT_ID=1796893
++ CI_PROJECT_ID=1796893
++ export CI_PROJECT_DIR=/builds/gitlab-examples/ci-debug-trace
++ CI_PROJECT_DIR=/builds/gitlab-examples/ci-debug-trace
++ export CI_SERVER=yes
++ CI_SERVER=yes
++ export 'CI_SERVER_NAME=GitLab CI'
++ CI_SERVER_NAME='GitLab CI'
++ export CI_SERVER_VERSION=
++ CI_SERVER_VERSION=
++ export CI_SERVER_REVISION=
++ CI_SERVER_REVISION=
++ export GITLAB_CI=true
++ GITLAB_CI=true
++ export CI=true
++ CI=true
++ export GITLAB_CI=true
++ GITLAB_CI=true
++ export CI_JOB_ID=7046507
++ CI_JOB_ID=7046507
++ export CI_JOB_TOKEN=xxxxxxxxxxxxxxxxxxxx
++ CI_JOB_TOKEN=xxxxxxxxxxxxxxxxxxxx
++ export CI_COMMIT_REF=dd648b2e48ce6518303b0bb580b2ee32fadaf045
++ CI_COMMIT_REF=dd648b2e48ce6518303b0bb580b2ee32fadaf045
++ export CI_COMMIT_BEFORE_SHA=dd648b2e48ce6518303b0bb580b2ee32fadaf045
++ CI_COMMIT_BEFORE_SHA=dd648b2e48ce6518303b0bb580b2ee32fadaf045
++ export CI_COMMIT_REF_NAME=master
++ CI_COMMIT_REF_NAME=master
++ export CI_COMMIT_NAME=debug_trace
++ CI_JOB_NAME=debug_trace
++ export CI_JOB_STAGE=test
++ CI_JOB_STAGE=test
++ export CI_SERVER_NAME=GitLab
++ CI_SERVER_NAME=GitLab
++ export CI_SERVER_VERSION=8.14.3-ee
++ CI_SERVER_VERSION=8.14.3-ee
++ export CI_SERVER_REVISION=82823
++ CI_SERVER_REVISION=82823
++ export CI_PROJECT_ID=17893
++ CI_PROJECT_ID=17893
++ export CI_PROJECT_NAME=ci-debug-trace
++ CI_PROJECT_NAME=ci-debug-trace
++ export CI_PROJECT_PATH=gitlab-examples/ci-debug-trace
++ CI_PROJECT_PATH=gitlab-examples/ci-debug-trace
++ export CI_PROJECT_NAMESPACE=gitlab-examples
++ CI_PROJECT_NAMESPACE=gitlab-examples
++ export CI_PROJECT_URL=https://example.com/gitlab-examples/ci-debug-trace
++ CI_PROJECT_URL=https://example.com/gitlab-examples/ci-debug-trace
++ export CI_PIPELINE_ID=52666
++ CI_PIPELINE_ID=52666
++ export CI_RUNNER_ID=1337
++ CI_RUNNER_ID=1337
++ export CI_RUNNER_DESCRIPTION=shared-runners-manager-1.example.com
++ CI_RUNNER_DESCRIPTION=shared-runners-manager-1.example.com
++ export 'CI_RUNNER_TAGS=shared, docker, linux, ruby, mysql, postgres, mongo'
++ CI_RUNNER_TAGS='shared, docker, linux, ruby, mysql, postgres, mongo'
++ export CI_REGISTRY=registry.example.com
++ CI_REGISTRY=registry.example.com
++ export CI_DEBUG_TRACE=true
++ CI_DEBUG_TRACE=true
++ export GITLAB_USER_ID=42
++ GITLAB_USER_ID=42
++ export GITLAB_USER_EMAIL=user@example.com
++ GITLAB_USER_EMAIL=user@example.com
++ export VERY_SECURE_VARIABLE=imaverysecurevariable
++ VERY_SECURE_VARIABLE=imaverysecurevariable
++ mkdir -p /builds/gitlab-examples/ci-debug-trace.tmp
++ echo -n '-----BEGIN CERTIFICATE-----
MIIFQzCCBCugAwIBAgIRAL/ElDjuf15xwja1ZnCocWAwDQYJKoZIhvcNAQELBQAw'
...
============================================
jobスクリプトの中にCI変数を使用する
jobの中には、環境変数として全種類の変数を仕掛けることができます。
というより、これが最も一般的な使われ方です。
大抵の場合は、bashやshellなどがjobスクリプトを実行するのに使われます。
環境変数を使用するには、ランナーのシェルにシンタックスを入力します。
Shellの種類 | 表記 |
---|---|
bash/sh | $variable |
windows batch | %variable% |
PowerShell | $env:variable |
bashから環境変数にアクセスするには、変数の前に「$」を表記します。
======================
job_name:
script:
- echo $CI_JOB_ID
======================
Windows Batchから環境変数にアクセスするには、変数の前に「%」を表記します。
======================
job_name:
script:
- echo %CI_JOB_ID%
======================
Windows PowerShellから環境変数にアクセスするには、変数の前に「$env:」を表記します。
======================
job_name:
script:
- echo $env:CI_JOB_ID
======================
全ての環境変数を一覧表示するには「export」コマンドを使います。
この中にはjobのログが表示されるので、全ての秘密変数も表示されてしまいます。
======================
job_name:
script:
- export
======================
すると、このような数値が表示されます。
(色分けは省略します。原文をご覧ください。)
============================================
export CI_JOB_ID="50"
exportCI_COMMIT_SHA="1ecfd275763eff1d6b4844ea3168962458c9f27a"
export CI_COMMIT_REF_NAME="master"
export CI_REPOSITORY_URL="https://gitlab-ci-token:abcde-1234ABCD5678ef@example.com/gitlab-org/gitlab-ce.git"
export CI_COMMIT_TAG="1.0.0"
export CI_JOB_NAME="spec:other"
export CI_JOB_STAGE="test"
export CI_JOB_MANUAL="true"
export CI_JOB_TRIGGERED="true"
export CI_JOB_TOKEN="abcde-1234ABCD5678ef"
export CI_PIPELINE_ID="1000"
export CI_PROJECT_ID="34"
export CI_PROJECT_DIR="/builds/gitlab-org/gitlab-ce"
export CI_PROJECT_NAME="gitlab-ce"
export CI_PROJECT_NAMESPACE="gitlab-org"
export CI_PROJECT_PATH="gitlab-org/gitlab-ce"
export CI_PROJECT_URL="https://example.com/gitlab-org/gitlab-ce"
export CI_REGISTRY="registry.example.com"
export CI_REGISTRY_IMAGE="registry.example.com/gitlab-org/gitlab-ce"
export CI_RUNNER_ID="10"
export CI_RUNNER_DESCRIPTION="my runner"
export CI_RUNNER_TAGS="docker, linux"
export CI_SERVER="yes"
export CI_SERVER_NAME="GitLab"
export CI_SERVER_REVISION="70606bf"
export CI_SERVER_VERSION="8.9.0"
export GITLAB_USER_ID="42"
export GITLAB_USER_EMAIL="user@example.com"
export CI_REGISTRY_USER="gitlab-ci-token"
export CI_REGISTRY_PASSWORD="longalfanumstring"
============================================
現在の位置: チームハンドブック 目次 >法的文書に署名する 法的文書への署名は、他社・他組織などに直接出向いてNDAsを取り扱った人物を除いては、Cレベル エクゼクティブのみが…2018-04-07 23:31:41
現在の位置:チームハンドブック 目次 このハンドブックは、GitLabという企業が、どのようにサービスを維持運営していくかを記したものだ。ここに書かれていることが、わが社の中核レ…2018-04-07 23:18:22
新しいドキュメント はこちらです。このドキュメントは旧式です。 GitLab Documentation > User documentation > Projects >GitLab Pages 説明書 …2018-04-06 16:52:11
GitLab Documentation > User documentation > Projects >GitLab Pages 説明書 GitLab Pagesなら、無料でウェブサイトをホスティングできる。 GitLabにプロジェクトレポジト…2018-04-06 16:50:36