2013-05-31 12 views
12

Ho impostato Cobertura correttamente per eseguire Jenkins e generare report di copertura, ora sono bloccato sulla configurazione delle violazioni per riportare i risultati per i test pep8.Generazione di report PEP8 xml per Jenkins/Violazioni

In questo momento sono in grado di eseguire PEP8 con un comando batch e generare un file .txt che memorizza tutte le violazioni che terminano nell'area di lavoro.

Devo definire i comandi batch per creare un file xml per queste violazioni da inviare alle violazioni del report Azione post-build? In tal caso, come definirei tale comando?

+0

AFAIK aggiungendo il nome del file di output pep8 (all'interno dello spazio di lavoro) nella riga per pep8 nelle violazioni dei report è l'unico passaggio che devi fare per visualizzare i risultati in jenkins ... –

risposta

24

Come fa notare Vajk, non è necessario un file XML. È possibile semplicemente reindirizzare l'output dell'utilità pep8 a un file e utilizzarlo come file delle violazioni in Jenkins.

Per esempio nella configurazione costruire Jenkins sotto:

Build -> Execute Shell -> Command 

si può scrivere:

pep8 path/to/code > pep8_report.txt 

E poi sotto:

Post-build Actions -> Report Violations -> pep8/XML filename pattern 

aggiuntivo:

pep8_report.txt 

Si noti che anche se l'interfaccia utente richiede un file XML e il file non è un file XML, questo ha funzionato correttamente con la versione 1.499 di Jenkins.

+0

Puoi anche usare [flake8] (https://flake8.readthedocs.org/en/2.3.0/index.html) restituito come violazioni di pep8. – razz0

+1

Ho provato come sopra e ha funzionato anche per me ma il problema è che i collegamenti nelle violazioni non funzionano. – parthiban

+0

Non riesco a vedere le "violazioni dei report" in "azione post-generazione". Mi manca un plugin? (Ho già installato Cobertura). – Will

0

La vedo una domanda molto vecchia ma ho avuto un sacco di problemi a trovare una risposta a questo, quindi spero che questo aiuti gli altri.

Dopo molte ricerche ho scoperto che Jenkins Violazioni plugin non piace il ./ po 'prima di ogni riga, quindi basta verificando l'output del PEP8 (è valido anche per flake8) farà il trucco:

pep8 . | 's|^./||' | tee pep.txt

il bit importante in là è sed che cambia le occorrenze di ./ all'inizio della stringa (^) per '', in modo efficace la loro rimozione

il bit tee è un po 'di soluzione per evitare Jenkins arrestare se l'output del comando pep8 è diverso da zero.

Problemi correlati