CircleCIの環境変数設定のTips


はじめに

CircleCIを使ってElectronアプリのビルド環境を構築する中で環境変数の設定で躓いた箇所がありました。
そこから得られたTipsをこの記事にまとめます。
実行環境としてmacosを使っていますが、おそらくその他の環境でも同様だと思います。

環境変数に関する公式のドキュメントは 環境変数の使い方 - CircleCI にあります。

実行環境

  • CircleCI 2.0
  • macos
    • xcode10.0.1

Tips

~$HOME が使えないところがある

Environment Variables.circleci/config.ymlenvironment~$HOME を使い、その環境変数を使用すると No such file or directory のエラーになりました。

おそらくこれらで設定した環境変数は export x="~" このように設定され、期待したものではないと想像しました。

解決策

公式にある run ステップ内で指定しているシェルコマンドで宣言されたもの の方法で設定して解決します

シェルコマンド export hoge=fuga では設定できない

export hoge=fuga では設定できませんでした。

解決策

公式にある通り echo 'export hoge=fuga' >> $BASH_ENV で設定できます

runを分けないと環境変数が正しく読み込めない

これはダメでした。

      - run:
          name: Setup Path And File
          command: |
            echo 'export HOGE_LINK=~/hoge.txt' >> $BASH_ENV
            echo 'fuga' > $HOGE_LINK

解決策

runを分けることで解決できます。

      - run:
          name: Setup Path
          command: |
            echo 'export HOGE_LINK=~/hoge.txt' >> $BASH_ENV
      - run:
          name: Setup File
          command: |
            echo 'fuga' > $HOGE_LINK

最後に

間違っている箇所などあれば指摘頂けると幸いです。