私のプロジェクトで "make"コマンドを100回実行しようとしています。しかし、当然のことながら結果を監視するわけではありませんが、ビルドが失敗した場合を知りたいです。
ビルドが失敗したときに通知、電子メール、またはレポートをトリガーするにはどうすればよいですか?
「make」を100回実行するためにこれを行いました。
for run in {1..100}
do
make
done
答え1
失敗するたびに何が起こりたいのかを電話することがmake
できます。
make || mail ...
または、失敗回数にのみ興味がある場合は、make
連想配列に終了ステータスを記録します。
#! /bin/bash
declare -A exits
for run in {1..100} ; do
make
(( exits[$?]++ ))
done
echo Code Number
for code in "${!exits[@]}" ; do
echo $code ${exits[$code]}
done
答え2
次のスクリプトは、成功または失敗を通知できます。 mail_notificationなどを簡単に実装できますか?
おそらくこの概念を見てください。継続的な統合より強力なソリューションのため。
#!/usr/bin/env bash
echo_notification() {
echo "$(date +%Y%m%d:%H:%m:%S) : compilation failed"
}
no_notification() {
true
}
for run in {1..100} ; do
make && no_notification || echo_notification
done
最初の失敗時にのみ通知を受け取るには、set -e
bashのシェルスクリプトで失敗終了を使用できます。