Ho un lavoro Jenkins con oltre 100 build. Devo cercare tra tutte le build di quel lavoro per trovare le build che hanno una determinata stringa nell'output della console. C'è qualche plugin per questo? Come lo faccio?Ricerca tramite l'output della console di un lavoro Jenkins
risposta
Se non ci sono ulteriori requisiti che vorrei fare semplicemente nella shell, ad esempio:
find $JENKINS_HOME/jobs/haystack -name log -exec grep -l needle {} \; \
| sed 's|.*/\(.*\)/log|\1|'
C'è la Log Parser Plugin
mettendo in evidenza le linee di interesse nel registro (errori, avvisi, informazioni)
dividendo il registro in sezioni che mostrano un riepilogo del numero di errori, avvertenze e linee di informazione all'interno del registro e delle sue sezioni.
che collega la sintesi di errori e avvisi nel contesto del registro completo, il che rende facile trovare una linea di interesse nel registro
che mostra un riepilogo di errori e avvisi sulla pagina di compilazione
Se sono vecchi registri, @jil ha la risposta assumendo che tu sia su Linux.
Non c'è bisogno di assumere Linux. Solo _bash_, _find_, _grep_ e _sed_. Possono essere facilmente installati su Windows (ad es. Da cygwin o mingw) e è probabile che tu li abbia già, cioè se stai usando Git. – jil
Spesso utilizzo lo Jenkins Script Console per attività come questa. Lo Groovy plugin fornisce la console di script, ma se si intende utilizzare la console di script per la manutenzione periodica, è anche necessario lo Scriptler plugin che consente di gestire gli script eseguiti.
Da Manage Jenkins ->Script Console, è possibile scrivere uno script Groovy che consente di scorrere il lavoro del build cercando la stringa corrispondente:
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, per cercare tra tutti i lavori usa 'def job = Jenkins.instance.items.find {true}' –
Questo non funziona con la nostra configurazione CI. Puoi confermare se questa ricerca per i registri della console dei lavori attualmente in esecuzione o anche i lavori completati? Come posso cercare tutti i lavori che sono in esecuzione e completati (non riusciti/non stabili/riusciti)? – askb
@dave bacher Ottengo: groovy.lang.MissingPropertyException: Nessuna proprietà del genere: build per la classe: java.lang.Boolean Qualche idea? – DenCowboy
Grazie a tutti per le vostre soluzioni di valore. Dopo un po 'di ricerche aggiuntive ho scoperto che c'è un plugin in Jenkins per fare questo.
https://wiki.jenkins-ci.org/display/JENKINS/Lucene-Search
questo modo salvare i risultati di uscita della console e gli utenti possono fare ricerca nella casella di ricerca.
- 1. Strategia per la distribuzione di Maven tramite un lavoro Jenkins
- 2. Jenkins: caratteri di uscita della console
- 3. Ricerca della versione di IIS tramite PowerShell
- 4. Tagging di un progetto GitHub tramite Jenkins
- 5. Rinomina un lavoro in jenkins
- 6. Può un Jenkins Trigger un lavoro su un jenkins remoto
- 7. Come nascondere le password nell'output della console Jenkins?
- 8. jenkins script console: elenco dei metodi disponibili di jenkins?
- 9. Lavoro Jenkins/Maven: esecuzione della suite di test due volte?
- 10. Jenkins: versione non valida della copia di lavoro SVN
- 11. Lavoro matrice Jenkins con virgole
- 12. Come eseguire automaticamente un lavoro Jenkins parametrizzato
- 13. Jenkins - aggiungi un grafico all'interfaccia del lavoro
- 14. Intellij: Output console di ricerca
- 15. ordine di lavoro jenkins a più configurazioni
- 16. Jenkins Controllo di un'area di lavoro fresca
- 17. Jenkins: visualizza l'ultima uscita della console nella pagina del progetto
- 18. Come ottenere l'URL del lavoro della pipeline in jenkins
- 19. Ritardante lavoro Jenkins post-build
- 20. Echo off in uscita console Jenkins
- 21. Come impostare la variabile di ambiente da un lavoro e usarlo nel prossimo lavoro in jenkins?
- 22. API REST Jenkins Crea lavoro
- 23. Come caricare un file generico in un lavoro Jenkins?
- 24. Come recuperare il lavoro cancellato di Jenkins?
- 25. Informazioni sul build del flusso di lavoro Jenkins
- 26. Passaggi saltati nel lavoro di Jenkins
- 27. accesso anonimo alle aree di lavoro di jenkins
- 28. Come sopprimere le righe dello script di origine echo nell'output della console pipeline di jenkins?
- 29. Perché non gradle eseguire da un lavoro jenkins
- 30. Come si rimuove un lavoro in pipeline inarrestabile in Jenkins?
Mentre questa è una risposta soddisfacente, sarei molto impaurito se uno dei miei sviluppatori chiedesse l'accesso al nostro server Jenkins in modo che possano eseguire comandi di shell contro le directory dei lavori. :) –
È possibile creare un lavoro Jenkins che esegua questo in un passo della shell se si è preoccupati di ciò, @Dave. E riferendomi alla tua risposta, non penso che l'esecuzione degli script di Groovy in console sia più sicura che garantire l'accesso alla shell :) – jil