このエントリーをはてなブックマークに追加

CircleCI 上で、最初から定義されている環境変数について

CircleCI 便利ですが、CircleCI 上の EC2 ホスト上で、いくつか CircleCI 上の環境変数が定義されているので、一部まとめておきます。
公式ドキュメントは、こちらですね。

  • CI: 値 true、CI かどうか
  • CIRLECI: 値 true、CircleCI かどうか
  • CIRCLE_ARTIFACTS: 値 /tmp/circle-artifacts.XXXX
  • CIRCLE_BRANCH: 値 ブランチ名、対象のブランチ名
  • CIRCLE_BUILD_NUM: 値 整数、CircleCI 上でのビルド回数番号です
  • CIRCLE_COMPARE_URL: 値 URL、前回のビルドからの差分をあらわす URL、GitHub の場合 https://github.com/[project]/compare/xxx…yyy となります
  • CIRCLE_NODE_INDEX: 値 整数、CircleCI で並列で使っている場合 0 から始まるインデックス番号です
  • CIRCLE_NODE_TOTAL: 値 整数、CircleCI で並列で使っている場合合計のコンテナの数です
  • CIRCLE_PREVIOUS_BUILD_NUM: 値 整数、前回のビルド回数番号です、CIRCLE_BUILD_NUM -1 になります
  • CIRCLE_PROJECT_REPONAME: 値 リポジトリ名、対象のリポジトリ名です
  • CIRCLE_PROJECT_USENAME: 値 ユーザ名、対象のリポジトリを操作しているユーザ名です、GitHub の場合関連づけたオーガニゼーション名となるようです
  • CIRCLE_SHA1: 値 SHA1、コミットをあらわすハッシュ値です
  • CIRCLE_USERNAME: 値 ユーザ名、GitHub の場合自身の GitHub ユーザ名です
  • CI_TEST_REPOSTS: 値 パス、Junit のレポートパス名です
  • CI_PULL_REQUEST: プルリクエストです
  • CI_PULL_REQUESTS: プリクエストの URL です

これらの環境変数をうまく使い分けることで、CI の操作ができて便利です。
特に、個人的に CIRCLECI、CIRCLE_NODE_INDEX、CIRCLE_NODE_TOTAL、あたりはインフラ CI で駆使して使っていますので、別の機会に紹介したいと思います。