명령을 여러 번 실행하고 실패 보고서를 트리거합니다.

명령을 여러 번 실행하고 실패 보고서를 트리거합니다.

내 프로젝트에서 "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 -ebash의 쉘 스크립트에서 실패 종료를 사용할 수 있습니다.

관련 정보