github actionsでログをファイル出力し、失敗時に表示する例
概要
github actionsでstep毎に処理を分けているのですが、テスト処理でバックエンドが失敗した時にログが確認できなくて困っていました。
stepはプロセスに分かれているという事でバックエンドを開始した直後の処理は標準出力が拾えるのですが、別のstepに行くと標準出力は残りません。
そこでバックエンドの出力をローカルのファイルに書き出しておき、失敗した時だけ後続のstepで標準出力に出すという事で解決できました。
その時の内容になります。
やり方
jobs: mytest: runs-on: ubuntu-latest steps: - name: start backend run: | npx serverless offline start --stage dev > backend.log & npx wait-on -t 60000 https-get://api.example.com:9000/manage/v1/echo - name: output-log-on-fail if: failure() run: | cat ./backend.log
1個目のstepでバックエンドプロセスを実行しています、この時の出力をbackend.logファイルにしています。
そして2個目のstepで失敗時のみbackend.logを標準出力に出しています。
これで失敗時だけログを見られるようになりました。