Hnoss

Hnoss

今さらながら題名間違いに気がづいて、大量修正を加えたところ。
カレンダー

文書タグ

フノス(訳者)(142) IT(114) 解説記事(69) オープンソース(49) メディア(31) Linux(30) ウェブ制作(23) GitLab CI(21) DTM(19) HTML5(19) Libre Music(18) おすすめ オープンソース・ソフトウェア(17) 百科事典(14) プラグイン(13) 文化(12) コンテナ(12) ソフトウェア(11) 録音(11) ミキシング(11) MIDI(10) 西アジア/中東(10) ジョージア(9) グルジア(9) 東ヨーロッパ(9) 料理(9) セキュリティ(8) シーケンス(8) 芸能(8) 音楽編集(8) 音楽(7) マスタリング(7) 経済(6) WordPress(5) アプリ(5) 業務効率化(5) JACK(5) コマンド(5) Google(4) 映像制作(4) Android(4) 音楽プレーヤー(4) マイクロサービス(4) Python(3) 北米(3) アニメ(3) ホームオートメーション(3) アニメーション(3) IoT(3) Ardour(3) 社会(3) Windows(3) Java(3) ワークフロー(3) ソーシャルメディア(3) GNU(3) DAW(3) 欧州(3) Ubuntu(3) ロスレス音源(2) スマホ(2) 牛(2) ニュース(2) GNOME3(2) 歴史(2) 仮想通貨(2) マーケティング(2) PlayStation(2) 古代エジプト(2) 有角神(2) ERPシステム(2) 電子ブック(2) エジプト(2) ALSA(2) OS X(2) トヨタ(2) Krita(2) 電子書籍(2) ERP(2) バト(2) ウィッカ(2) Twitter(2) GPL(2) オカルト(2) アフリカ(1) リグ・ヴェーダ(1) F-Droid(1) 教育(1) bi-modal IT(1) ムネヴィス(1) ネオペイガニズム(1) コミュニティ放送(1) アンビソニック(1) Papagayo(1) 写真(1) 元ネタ(1) ケルヌンノス(1) ナイジェリア(1) iOS(1) 聖書(1) 任天堂 DS(1) 学校(1) 日本(1) 魔女宗(1) アクティブSETI(1) バイノーラル(1) アップストリーム・パッケージング(1) 画像(1) 意味(1) コシディウス(1) インド(1) ユーコン(1) サウンドフォント(1) ヤーウェ(1) CD(1) タブレット(1) 羊(1) ベルゼブブ(1) デジタルサイネージ(1) VR(1) ポータブルソフトウェア(1) 由来(1) グンデストルップの大釜(1) カナン(1) カナダ(1) 詩篇(1) チップチューン(1) バ・ネブ・デデト(1) コットン・マザー(1) クラウドキャスティング(1) VST(1) リーナス・トーバルズ(1) エリファス・レヴィ(1) マサチューセッツ(1) 考古学(1) 申命記(1) スタジオジブリ(1) クヌム(1) 魔女裁判(1) オンデマンド(1) 政治(1) バフォメット(1) 国際(1) クリエイティブ・コモンズ(1) 黙示録(1) Synfig(1) 独占(1) アモン(1) セイラム魔女裁判(1) ねじ巻きラジオ(1) 3D(1) EU(1) イボ人(1) 国際公文書館会議(1) マイナビ(1) キリスト教(1) レビ記(1) アマナイ(1) 広告(1) KXStudio(1) 絵文字(1) サンフランシスコ(1) イケンガ(1) リクルート(1) ユダヤ教(1) ウルガタ聖書(1) 科学技術(1) Blender(1) 出エジプト記(1) 観光案内(1) ツイッター(1) Youtube(1) パキスタン(1) CC(1) ハトホル(1) パン(1) 地方(1) 羊神(1) ギリシャ(1) 高速道路情報無線(1) ゲーム(1) 法律(1) 中南米(1) モヘンジョ=ダロ(1) 悪魔(1) ラジオ(1) OpenToonz(1) 電子教材(1) アレクサンドロス大王(1) ローマ(1) ポッドキャスト(1) パシュパティ(1) アピス(1) 宗教(1) テレビ(1) BountySource(1) 船乗りの柱(1) シリア(1) GPS(1) 日記(1)
リファレンス

first-time visitors
user guide
謝辞

「みんなの翻訳」は情報通信研究機構言語翻訳グループ東京大学図書館情報学研究室による共同プロジェクトであり、三省堂国立情報学研究所連想情報学研究開発センターが開発に協力しています。三省堂には「グランドコンサイス英和辞典(36万項目収録)」の使用を許可していただきました。

連携研究グループはこちらをご覧ください。

「みんなの翻訳」を使っている翻訳グループについてはこちらをご覧ください。

バナー

logo

ポスター

poster

フライヤー

poster poster
Mozilla Firefox ブラウザ無料ダウンロード
本サイトはブラウザ「Mozilla Firefox」推奨です。
Firefox3で動作確認しています。

Valid XHTML 1.0 Transitional


GitLab DocumentationGitLab Continuous Integration (GitLab CI)>GitLab CI/CDで使えるAPI変数

 GitLab ランナーは、CIから送られてきたjobをもとに、ビルド環境を整えます。
 このページでは、定義済み変数(環境変数)とユーザー定義変数のリストを掲載しています。

 変数の優先順位

 変数には優先順位があります。
 次の順位に従って、変数に設定された内容が上書きされる場合があります。

  1. Trigger変数、スケジュール・パイプライン変数[全てにおいて優先]
  2. プロジェクトごとの秘密変数(secret variables)、保護的秘密変数(protected secret variables)
  3. グループごとの秘密変数(secret variables)、保護的秘密変数(protected secret variables)
  4. YAMLで定義されたjobごとの変数
  5. YAMLで定義されたjobごとのグローバル変数
  6. デプロイメント変数
  7. 定義済み変数[この中では最下位]


 たとえば、
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 を全てアルファベットの小文字(az)にして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実行後は破棄・破壊される環境が、ほぼすべての実行プログラムに存在する。ただし、shellsshは除く。)環境を使い捨てる場合は、「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 共有環境(shellsshなどの実行プログラムを呼び出し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_ENVDATABASE_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"

============================================

原文:https://docs.gitlab.com/ee/ci/variables/README.html
原文ページプロジェクト並びにドキュメントファイルは、MIT Licenseのもと公開されています。(URL:https://gitlab.com/gitlab-com/gitlab-docs/blob/master/LICENSE) この記事の文章は、訳者の判断によりCreative Commons BY (version 3.0) を適用するものとします。
新着文書(Hnoss)

Hugo Static Site Generator with CI Deployment using GitLab | Leow Kah Man - Tech Blog
 週末にかけて、GitHubに構えていた私のブログをGitLabに移転しました。GitLabだとCIビルドが自動的にできるところが便利です。  僕はGitLabのレポ...
Using Docker images
GitLab Documentation > GitLab Continuous Integration (GitLab CI) > Docker integration >Dockerイメージを使う  GitLab CIは、Gi...
Configuration of your jobs with .gitlab-ci.yml
 (訳者より:翻訳がもうだいぶ進んだところで、GitLab CIについてネットで検索をかけてみたところ、 Qiitaにてynott様が公開されたバージョン ...

新着文書

Revisit to resist: Histories of the movement to end gender-based violence
抵抗のための再検討:ジェンダーに基づく暴力を終わらせるための活動の歴史 2017年11月8日 記憶は抵抗である。あなたの話が沈黙させられ挑まれたな...
What do women’s rights have to do with the SDGs and the internet?
女性の権利はSDGsとインターネットにどのような関係があるか? 2017年8月2日、スリランカ 女性は均質な集団ではなく、科学技術へのアクセスもまた、...
Sexual rights and the internet: Third EROTICS global survey now launched!
性的権利とインターネット:第3回EROTICS国際調査、現在開始! 2017年7月19日 EROTICS国際調査が戻ってきた! もしあなたが、インターネットを自ら...

新着Wikipedia翻訳

Air gap (networking)
エアギャップ(ネットワーク関係) エアギャップ(air gap:空隙)またはair wall(空気壁)、エア・ギャッピング[1]とは、ネットワーク・セキュリ...
HTTP Public Key Pinning
HTTP公開鍵ピニング HTTP公開鍵ピニング(HPKP: HTTP Public Key Pinning)[1]とは、HTTPヘッダによって実現されるセキュリティの仕組みであり、HT...
Double Ratchet Algorithm
ダブル・ラチェット・アルゴリズム 「ダブル・ラチェット」はこの項目へ転送されています。工具については レンチ を参照下さい。 暗号技術におい...

更新履歴

※文書量によっては処理に数十秒かかる場合があります
バージョン 比較対象 更新日時 更新者
1(最新) 2017-11-17 23:50:00 Hnoss
2 2017-11-17 23:39:26 Hnoss
3 2017-11-11 23:15:27 Hnoss
4 2017-11-11 22:18:17 Hnoss
5 2017-11-11 22:06:16 Hnoss
6 2017-11-11 22:05:21 Hnoss
7 2017-11-11 21:32:28 Hnoss
8 2017-11-11 21:31:08 Hnoss
9 2017-11-11 21:19:36 Hnoss
10 2017-11-11 21:16:06 Hnoss

    
ブックマーク登録

タグを「;(半角セミコロン)」区切りで入力して下さい(例)tag1;tag2;tag3
10タグまで登録可能。各タグ30文字まで

履歴
状態 作業中 作業予定あり 作業予定なし 作業完了
テーマ 社会 政治 法律 経済 文化 芸能 科学技術 IT 健康/医療 スポーツ メディア 植物 動物 菌類 地方 国際
地域 日本 東アジア アフリカ 南アジア 東南アジア 西アジア/中東 太平洋 北米 中南米 欧州
ジャンル ニュース 解説記事 論文 日記 百科事典

コメントを入力して下さい
0 / 250
    
ブックマーク登録

ブックマークに登録しました。


言語選択

    
ファイルプロパティ

使用許諾条件
ファイル情報
あなただけがこのファイルを閲覧・編集できます。
みんながこのファイルを閲覧できますが、
編集ができるのはあなただけです。
あなたに加えて、指定された人やグループが
このファイルを自由に閲覧・編集できます。
公開設定
編集設定
グループ:0組 翻訳者:0人
    
アクセス属性
この文書は「非公開」設定になっています。
一般公開する場合は、編集ページの書誌情報で「公開」設定に変更して下さい。
翻訳者選択

※メニュー「翻訳者管理」で翻訳者、グループを追加することができます。


    
ノート

非公開ノート
0 / 2000 ※「公開・編集」権限を持つ翻訳者のみに公開されます。
公開ノート
0 / 2000 ※文書を「公開」にした場合、一般に公開されます。

言語選択

 →