J'ai un serveur CI avec une interface de ligne de commande qui me permet de lancer un travail à distance ( jenkins
serveur CI et l' jenkins-cli.jar
outil).
Après avoir lancé le travail, je tail -f
le journal (désolé pour la commande en désordre):
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\""
Une fois le travail terminé, généralement après au moins 5 minutes, j'obtiens la ligne suivante sur la sortie:
Finished: SUCCESS
Existe-t-il un bon moyen d'arrêter de suivre le journal à ce stade? c'est à dire qu'il y a comme une tail_until 'some line' my-file.log
commande?
BONUS: crédit supplémentaire si vous pouvez fournir une réponse qui renvoie 0 lorsque SUCCESS est apparié, 1 lorsque FAILURE est apparié et que votre solution fonctionne sur mac! (qui je crois est basé sur bsd)