Ich habe ein Jenkins Job mit mehr als 100 baut. Ich muss alle Builds dieses Jobs durchsuchen, um Builds mit einer bestimmten Zeichenfolge in der Konsolenausgabe zu finden. Gibt es dafür ein Plugin? Wie mache ich das?Suche durch Konsole Ausgabe eines Jenkins Job
Antwort
Wenn es keine zusätzlichen Anforderungen, die ich es einfach in der Schale tun würde, zum Beispiel:
find $JENKINS_HOME/jobs/haystack -name log -exec grep -l needle {} \; \
| sed 's|.*/\(.*\)/log|\1|'
Es ist die Log Parser Plugin
machen zu findenLinien von Interesse in der Log-Hervorhebung (Fehler, Warnungen, Informationen)
das Protokoll in Abschnitten Anzeige eine Zusammenfassung der Anzahl der Fehler, Warnungen und Informationszeilen innerhalb des Protokolls und seine Abschnitte unterteilt wird.
Verknüpfung die Zusammenfassung von Fehlern und Warnungen in Zusammenhang mit der vollständigen Lügt, ist es einfach eine Linie von Interesse in dem Protokoll
zeigt eine Zusammenfassung der Fehler und Warnungen auf der Build-Seite
Wenn es alte Protokolle sind, dann hat @jil die Antwort, vorausgesetzt, Sie sind auf Linux.
Keine Notwendigkeit, Linux anzunehmen. Nur _bash_, _find_, _grep_ und _sed_. Sie können leicht unter Windows installiert werden (z. B. von Cygwin oder Mingw), und die Chancen stehen gut, dass Sie sie bereits haben, d. H. Wenn Sie Git verwenden. – jil
Ich benutze oft die Jenkins Script Console für Aufgaben wie diese. Die Groovy plugin bietet die Script-Konsole, aber wenn Sie das Script-Konsole für die regelmäßige Wartung verwenden werden, werden Sie auch die Scriptler plugin wollen, die Sie die Skripte verwalten können, die Sie ausführen.
Von Jenkins verwalten ->Script Console, können Sie ein starkes Skript schreiben, das durchläuft die Aufgabe des Builds für die passende String suchen:
JOB_NAME = "My Job"
BUILD_STRING = "Hello, world"
def job = Jenkins.instance.items.find { it.name == JOB_NAME }
for (build in job.builds) {
def log = build.log
if (log.contains(BUILD_STRING)) {
println "${job.name}: ${build.id}"
}
}
FWIW, die Suche durch alle Aufträge verwenden 'def job = Jenkins.instance.items.find {true}' –
Dies funktioniert nicht unsere CI-Setup. Können Sie bestätigen, ob diese Suche nach den Konsolenprotokollen der aktuell ausgeführten Jobs oder sogar der abgeschlossenen Jobs erfolgt? Wie kann ich nach allen laufenden und abgeschlossenen Jobs suchen (fehlgeschlagen/instabil/erfolgreich)? – askb
@dave bacher Ich bekomme: groovy.lang.MissingPropertyException: Keine solche Eigenschaft: baut für Klasse: java.lang.Boolean Irgendeine Idee? – DenCowboy
Vielen Dank allen für Ihre wertvollen Lösungen. Nach ein paar zusätzlichen Recherchen fand ich, dass es ein Plugin in Jenkins gibt, um dies zu tun.
https://wiki.jenkins-ci.org/display/JENKINS/Lucene-Search
Dies wird die Konsole Ausgabeergebnisse speichern und Benutzer können in Suchfeld Suche.
- 1. Wie jenkins pipeline job durch scm Änderung auslösen?
- 2. Jenkins Job Builder - Automatische Pipeline Job
- 3. Jenkins Konsole auf Mail
- 4. Jenkins Findbugs Leere Ausgabe
- 5. Lauf Jenkins Job sofort
- 6. Jenkins-Job gleichzeitig aufteilen
- 7. Jenkins-Job schlägt fehl
- 8. YAML - Jenkins Job Builder
- 9. Umleiten der Ausgabe eines Cron-Job
- 10. Senden Jenkins Konsole Ausgabe als HTML-E-Mail
- 11. Start jenkins job sofort nach der Erstellung von Seed Job
- 12. Übergeben der Ausgabe eines Jobs in Jenkins zu einem anderen Job
- 13. Jenkins Job Builder: Projektebene Variablen
- 14. Jenkins External-Monitor-Job-Setup
- 15. Jenkins REST API Job erstellen
- 16. Jenkins EnvInject Plugin + Pipeline-Job
- 17. Einen Job in jenkins umbenennen
- 18. Wie gelöschte Jenkins Job abrufen?
- 19. Wie löst man zu einem bestimmten Zeitpunkt einen Jenkins-Job durch einen anderen Job aus?
- 20. Jenkins Konsole Ausgangstabelle in E-Mail
- 21. Vagrant abgebrochen am Ende von Jenkins Job
- 22. Jenkins-Workflow-Job: Parameter als Zweigspezifizierer verwenden
- 23. Azure Automation Job Ausgabe
- 24. Configure Jenkins Job Docker installieren über ansible
- 25. Multi-Konfigurations-Job - wo ist die Ausgabe?
- 26. machen Jenkins (Hudson) Job hängen von einem anderen Job
- 27. Jenkins/Hudson SVN Ausgabe
- 28. `npm install` Ausgabe auf Jenkins
- 29. Formatieren der Konsole Ausgabe
- 30. VBScript-Ausgabe zu Konsole
Während dies zu einer Antwort, würde ich sehr erschrocken sein, wenn einer meiner Entwickler für den Zugang unseres Jenkins Server gefragt, so dass sie Shell-Kommandos gegen die Job-Verzeichnisse laufen können. :) –
Sie könnten dann einen Jenkins-Job erstellen, der dies in einem Shell-Schritt ausführt, wenn Sie sich darüber Gedanken machen, @Dave. Und in Bezug auf Ihre eigene Antwort glaube ich nicht, dass das Ausführen von Groovy-Skripten in der Konsole sicherer ist als das Gewähren des Shell-Zugriffs :) – jil