ゼットコードログ

コード的な何かを書いていきます。

Circle CIのJobで任意の環境変数を設定するには

Circle CI(version 2)でJobを実行するときに、環境変数を設定するには BASH_ENV変数に追加するとよい。 「BASH_ENVの中」に>>で追加するのがミソ。

たとえば、gitのリポジトリで最新のタグ名をTAG_NAMEという環境変数として定義したい場合はこんな感じ。

echo 'export TAG_NAME=`git describe --tags`' >> $BASH_ENV

そうすると、jobs実行時のコマンドで普通に環境変数として参照できる。

    steps:
      - checkout
      - run: gcloud container builds submit --config=cloudbuild.yaml --substitutions REVISION_ID=$TAG_NAME .

最初、BASH_ENVというのはあくまでも例のひとつで、そこに自分の都合に合わせて環境変数を定義する感じかと思っていたらそんなことはなかった。