Mam serwer CI z interfejsem wiersza polecenia, który pozwala mi na zdalne rozpoczęcie zadania ( jenkins
serwer CI i jenkins-cli.jar
narzędzie).
Po wykopaniu zadania I tail -f
log (przepraszam za niechlujne polecenie):
ssh -t my-jenkins-host.com "tail -f \"/var/lib/jenkins/jobs/$job_name/builds/\`ls -ltr /var/lib/jenkins/jobs/$job_name/builds/ | grep '^l' | tail -n 1|awk '{print \$9}'\`/log\""
Po pomyślnym zakończeniu zadania, zwykle po co najmniej 5 minutach, na wyjściu pojawia się następujący wiersz:
Finished: SUCCESS
Czy istnieje dobry sposób, aby w tym momencie przestać śledzić dziennik? tzn. czy jest jak tail_until 'some line' my-file.log
polecenie?
BONUS: dodatkowy kredyt, jeśli możesz podać odpowiedź, która zwraca 0, gdy SUKCES jest dopasowany, 1, gdy BŁĄD jest dopasowany, a twoje rozwiązanie działa na Macu! (który moim zdaniem jest oparty na bsd)