CircleCI2.0でtest.logをArtifactsに保存する


ローカルでは通るのにCircleCIで実行すると落ちるテストが稀にあります。
原因を調査するためにtest.logをArtifactsに保存できる方法がないか調べました。

保存方法

.circleci/config.ymlでテストのrun設定の後に以下を記述するだけで出来ました!

      - store_artifacts:
          path: ./log/test.log
          destination: /tmp/test.log

store_artifacts

CIの処理中に出来る成果物をAratifactsに保存できます。
CIのWeb上のビルド画面=>Aratifactsタブから見ることができます。

path

保存したいファイルのパスを指定します。

destination

Aratifacts内のどこに保存するか指定します。
destinationを書かなかった場合、元ファイルのパスと同じ場所に保存されます。
上記の場合、/home/circleci/my_app/log/test.logに保存されて、見るのが面倒なので指定しました。

備考

テストログをダウンロードして見ようとすると色も無く、文字が並んでいるだけで調査する気が失せるかと思います。
以下のようにすると色付きでログが見れます。

1. $less test.log
2. -rRと入力する
3. 色付きで表示✨