Ich habe einen CI-Server mit einer Befehlszeilenschnittstelle, mit der ich einen Auftrag remote starten kann ( jenkinsCI-Server und das jenkins-cli.jarTool).
Nachdem ich den Job gekickt habe habe ich tail -fdas Protokoll (sorry für den chaotischen Befehl):
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\""
Nachdem der Auftrag erfolgreich abgeschlossen wurde, wird in der Regel nach mindestens 5 Minuten die folgende Zeile in der Ausgabe angezeigt:
Finished: SUCCESS
Gibt es eine gute Möglichkeit, das Protokoll an dieser Stelle nicht mehr zu verfolgen? dh gibt es wie ein tail_until 'some line' my-file.logbefehl?
BONUS: Zusätzliches Guthaben, wenn Sie eine Antwort liefern können, die 0 zurückgibt, wenn SUCCESS übereinstimmt, 1, wenn FAILURE übereinstimmt und Ihre Lösung auf einem Mac funktioniert! (Was ich glaube, ist BSD-basiert)