我试图在我的项目上运行“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 中使用 shell 脚本中的失败退出。