LoginSignup
12
12

More than 5 years have passed since last update.

[メモ] CircleCI_環境変数一覧(1.0&2.0)

Last updated at Posted at 2018-04-05

default img tag.png

きっかけ

CircleCIが1.0を廃止するので
2.0に移行に迫られ、ふと思って
1.0と2.0で使われる変数の一覧をまとめてみました。

参考

CircleCI 1.0 to 2.0

https://circleci.com/blog/sunsetting-1-0/
https://circleci.com/docs/2.0/migrating-from-1-2/

Environment Variables

CircleCI リンク
1.0 https://circleci.com/docs/1.0/environment-variables/
2.0 https://circleci.com/docs/2.0/env-vars/

react-native

パッと調べた感じ、react-nativeが一番
CircleCI2.0を使い込んでいそうだったので、そちらを参考にした。

ツール リンク
Github https://github.com/facebook/react-native
Circle https://circleci.com/gh/facebook/react-native

CircleCIの例(react-native)

## Spin up Environment

Build-agent version 0.0.4775-4387c40 (2018-03-26T10:29:11+0000)
Starting container circleci/node:6
  image is cached as circleci/node:6, but refreshing...
6: Pulling from circleci/node
Digest: sha256:6c64433cd80bb347d5d95fada05743163eacbae3ceebeebfe81ae142d26bc57e
Status: Image is up to date for circleci/node:6
  using image circleci/node@sha256:6c64433cd80bb347d5d95fada05743163eacbae3ceebeebfe81ae142d26bc57e

Using build environment variables:
  BASH_ENV=/tmp/.bash_env-5ac535f77136c80007d1e06e-0-build
  CI=true
  CIRCLECI=true
  CIRCLE_BRANCH=master
  CIRCLE_BUILD_NUM=39404
  CIRCLE_BUILD_URL=https://circleci.com/gh/facebook/react-native/39404
  CIRCLE_COMPARE_URL=https://github.com/facebook/react-native/compare/3cd2b4342653...c787e0e25216
  CIRCLE_JOB=test_javascript_node6_compatibility
  CIRCLE_NODE_INDEX=0
  CIRCLE_NODE_TOTAL=1
  CIRCLE_PREVIOUS_BUILD_NUM=39403
  CIRCLE_PROJECT_REPONAME=react-native
  CIRCLE_PROJECT_USERNAME=facebook
  CIRCLE_PULL_REQUEST=https://github.com/Htc2ubusiness/react-native/pull/1
  CIRCLE_PULL_REQUESTS=https://github.com/Htc2ubusiness/react-native/pull/1
  CIRCLE_REPOSITORY_URL=git@github.com:facebook/react-native.git
  CIRCLE_SHA1=c787e0e25216d04a76ce2e3c0c88218ab9db3545
  CIRCLE_SHELL_ENV=/tmp/.bash_env-5ac535f77136c80007d1e06e-0-build
  CIRCLE_STAGE=test_javascript_node6_compatibility
  CIRCLE_USERNAME=facebook-github-bot
  CIRCLE_WORKFLOW_CONCURRENCY_MAP={}
  CIRCLE_WORKFLOW_ID=66a7325d-f222-41d5-a257-cc83bc8e6843
  CIRCLE_WORKFLOW_JOB_ID=e352e0cb-cb6b-4d1a-a631-c6cf13a575ae
  CIRCLE_WORKFLOW_UPSTREAM_JOB_IDS=
  CIRCLE_WORKFLOW_WORKSPACE_ID=66a7325d-f222-41d5-a257-cc83bc8e6843
  CIRCLE_WORKING_DIRECTORY=~/react-native
  CI_PULL_REQUEST=https://github.com/Htc2ubusiness/react-native/pull/1
  CI_PULL_REQUESTS=https://github.com/Htc2ubusiness/react-native/pull/1

CircleCI変数一覧

# 変数名 2.0 1.0 説明
1 CI 現在の環境がCI環境であるかどうか true
2 CIRCLECI 現在の環境がCI環境であるかどうか true
3 CIRCLE_BRANCH build中のGitブランチの名前 master
4 CIRCLE_NODE_TOTAL build instancesの合計 1
5 CIRCLE_NODE_INDEX build instancesの番号 0 (CIRCLECI_NODE_TOTAL - 1)
6 CIRCLE_BUILD_NUM CircleCIのbuild番号 39404
7 CIRCLE_PREVIOUS_BUILD_NUM 対象ブランチの過去のbuild回数 39403
8 CIRCLE_BUILD_URL buildのURL https://circleci.com/gh/facebook/react-native/39404
9 CIRCLE_SHA1 buildの最後のSHA1ハッシュ c787e0e25216d04a76ce2e3c0c88218ab9db3545
10 CIRCLE_SHELL_ENV CircleCIのshellの環境変数のパス(たぶん。。) /tmp/.bash_env-5ac535f77136c80007d1e06e-0-build
11 CIRCLE_USERNAME buildを実行したユーザー facebook-github-bot
12 CIRCLE_JOB × ジョブ名 test_javascript_node6_compatibility

(参考) https://circleci.com/docs/2.0/jobs-steps/#jobs-overview 
12 CIRCLE_WORKING_DIRECTORY × ジョブの作業ディレクトリ ~/react-native
13 CIRCLE_COMPARE_URL 前回のbuildからの差分を表すURL https://github.com/facebook/react-native/compare/3cd2b4342653...c787e0e25216
14 CIRCLE_REPOSITORY_URL 対象リポジトリのURL git@github.com:facebook/react-native.git
15 CIRCLE_PR_NUMBER (注1) PR番号 ※正常に機能しない場合がある。要確認。

(参考) https://github.com/circleci/circleci-docs/pull/2107
16 CIRCLE_PR_REPONAME (注1) PRが行われたリポジトリ名 ※正常に機能しない場合がある。要確認。

(参考) https://github.com/circleci/circleci-docs/issues/2060
17 CIRCLE_PR_USERNAME (注1) PRを行ったユーザー名 ※正常に機能しない場合がある。要確認。

(参考) https://github.com/circleci/circleci-docs/issues/2060
18 CIRCLE_PULL_REQUESTS × buildに含まれるPRのURLのカンマ区切りのリスト https://github.com/Htc2ubusiness/react-native/pull/1
19 CIRCLE_PULL_REQUEST × buildに含まれるPRのURLのどれか1つ(ランダム) https://github.com/Htc2ubusiness/react-native/pull/1
20 CI_PULL_REQUESTS CIRCLE_PULL_REQUESTSと同じ。(1.0との下位互換性) https://github.com/Htc2ubusiness/react-native/pull/1
21 CI_PULL_REQUEST CIRCLE_PULL_REQUESTと同じ。(1.0との下位互換性) https://github.com/Htc2ubusiness/react-native/pull/1
22 CIRCLE_TAG (注1) build/test対象となるgit tag名 -
23 CIRCLE_PROJECT_USERNAME 対象プロジェクトのユーザー名or組織名 facebook

cf. "facebook" in circleci.com/gh/facebook/react-native/39404.
24 CIRCLE_PROJECT_REPONAME 対象プロジェクトのリポジトリ名 react-native

cf. "react-native" in circleci.com/gh/facebook/react-native/39404.
25 CIRCLE_INTERNAL_TASK_DATA (注1) × テストタイミングのデータが見つかるディレクトリ -
26 CIRCLE_STAGE × 実行中のジョブ test_javascript_node6_compatibility
26 CIRCLE_WORKFLOW_CONCURRENCY_MAP × 実行中のジョブ test_javascript_node6_compatibility
26 CIRCLE_WORKFLOW_ID × 現在実行しているジョブのワークフローのID 66a7325d-f222-41d5-a257-cc83bc8e6843
26 CIRCLE_WORKFLOW_JOB_ID × 現在実行しているジョブのワークフローにおけるジョブID e352e0cb-cb6b-4d1a-a631-c6cf13a575ae
26 CIRCLE_WORKFLOW_UPSTREAM_JOB_IDS × 現在実行しているジョブのアップストリームID -
26 CIRCLE_WORKFLOW_WORKSPACE_ID × 現在実行しているジョブのワークスペースID 66a7325d-f222-41d5-a257-cc83bc8e6843
27 CIRCLE_ARTIFACTS (注1) × build時の成果物が保存されるディレクトリ /tmp/circle-artifacts.KcKmZNY
28 CIRCLE_TEST_REPORTS (注1) × JUnitのメタデータとして処理されるディレクトリ 1.0: /tmp/circle-junit.NF4bElV
29 CIRCLE_BUILD_IMAGE (注1) × 実行されるbuild image 1.0: ubuntu-14.04
30 HOME (注1) 省略 1.0: "/home/ubuntu"
31 DISPLAY (注1) 省略 1.0: ":99"
32 LANG (注1) 省略 1.0: "en_US.UTF-8"
33 PATH (注1) 省略 1.0: Includes "/home/ubuntu/bin"

(注1):「CircleCIの例(react-native)」にはない変数

所感

  1. 新規追加された変数はあまり知見がないので、ググってもでてこない。
  2. 2.0から、workflowやworkspace,upstreamの考え方が増えたので、若干難しい?
  3. 「△」のやつとか使えるのか、使えないのかわからない。

まぁ、実際に、実行してみて、どういうものなのかわかったら、ちゃんと書こうと思う。

12
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
12