J'ai un travail Jenkins avec plus de 100 versions. J'ai besoin de parcourir toutes les versions de ce travail pour trouver des versions qui ont une certaine chaîne dans la sortie de la console. Existe-t-il un plugin pour cela? Comment je fais ça?
J'utilise souvent Jenkins Script Console pour des tâches comme celle-ci. Le plugin Groovy fournit la console de script, mais si vous allez utiliser la console de script pour une maintenance périodique, vous voudrez également le plugin Scriptler qui vous permet de gérer les scripts que vous exécutez.
Depuis Gérer Jenkins -> Console de script , vous pouvez écrire un script groovy qui parcourt les builds du travail à la recherche de la chaîne correspondante:
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}"
}
}
S'il n'y a pas d'exigences supplémentaires, je le ferais simplement dans le Shell, par exemple:
find $JENKINS_HOME/jobs/haystack -name log -exec grep -l needle {} \; \
| sed 's|.*/\(.*\)/log|\1|'
Merci à tous pour vos précieuses solutions. Après un peu de recherche supplémentaire, j'ai trouvé qu'il y avait un plugin dans Jenkins pour le faire.
https://wiki.jenkins-ci.org/display/JENKINS/Lucene-Search
Cela enregistrera les résultats de sortie de la console et les utilisateurs pourront effectuer une recherche dans la zone de recherche.
Il y a Log Parser Plugin
mettre en évidence les lignes d'intérêt dans le journal (erreurs, avertissements, informations)
diviser le journal en sections affichant un résumé du nombre d'erreurs, d'avertissements et de lignes d'information dans le journal et ses sections.
relier le résumé des erreurs et des avertissements dans le contexte du journal complet, ce qui facilite la recherche d'une ligne d'intérêt dans le journal
affichant un résumé des erreurs et des avertissements sur la page de construction
S'il s'agit d'anciens journaux, @jil a la réponse en supposant que vous êtes sous Linux.
Juste pour lancer un autre plugin, ce billet de blog m'a pointé vers le plugin TextFinder qui vous permet de rechercher du texte dans un fichier d'espace de travail ou la sortie de la console, et de remplacer l'état de la construction comme succès/échec lorsque le texte est trouvé.
L'affiche originale ne dit pas ce qui devrait arriver lorsque le texte est trouvé, mais c'est la recherche de cette fonctionnalité qui m'a amené ici.