ローカルでは通るのに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. 色付きで表示✨