2013-05-31 17 views
12

Ustawiłem, że Cobertura pomyślnie przechodzi przez Jenkinsa i generuje raporty zasięgu, teraz utknąłem na konfigurowaniu naruszeń w celu raportowania wyników testów pep8.Generowanie raportu xml PEP8 dla Jenkins/Violations użyj

Teraz mam to, aby uruchomić PEP8 za pomocą polecenia wsadowego i wygenerować plik .txt, który przechowuje wszystkie naruszenia, które kończą się w obszarze roboczym.

Czy muszę zdefiniować polecenia wsadowe, aby utworzyć plik xml dla tych naruszeń, aby wysłać je do akcji zgłaszania naruszeń po instalacji? Jeśli tak, jak zdefiniowałbym to polecenie?

+0

AFAIK dodanie nazwy pliku wyjściowego pep8 (w obszarze roboczym) w wierszu dla parametru pep8 w naruszeniach raportów to jedyny krok, który należy wykonać, aby wyniki pojawiały się w jenkins ... –

Odpowiedz

24

Jak podkreśla Vajk, nie potrzebujesz pliku XML. Możesz po prostu przekierować wyjście narzędzia pep8 do pliku i użyć go jako pliku naruszeń w Jenkins.

Na przykład w konfiguracji Jenkins pod budowę:

Build -> Execute Shell -> Command 

można napisać:

pep8 path/to/code > pep8_report.txt 

a następnie w obszarze:

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

dodają:

pep8_report.txt 

Należy pamiętać, że nawet jeśli interfejs użytkownika prosi o plik XML, a plik nie jest plikiem XML, działało to dobrze dla mnie w wersji Jenkins 1.499.

+0

Można również użyć [flake8] (https://flake8.readthedocs.org/en/2.3.0/index.html) wypisane jako naruszenie pep8. – razz0

+1

Próbowałem jak wyżej i to działało również dla mnie, ale problem z linkami w naruszeniach nie działa. – parthiban

+0

Nie widzę "Zgłaszania naruszeń" w "akcji po wybudowaniu". Czy brakuje mi wtyczki? (Mam już zainstalowany Cobertura). – Will

0
Widzę to bardzo stare pytanie, ale sam miałem wiele problemów, aby znaleźć odpowiedź na to pytanie, więc mam nadzieję, że to pomoże innym.

Po wiele badań stwierdziliśmy, że Jenkins Naruszenie plugin nie lubi ./ trochę przed każdą linią, więc po prostu parsowania wyjście pep8 (to jest również ważne dla flake8) rade:

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

ważną nieco tam jest sed który zmienia wystąpienia ./ na początku łańcucha (^) do „”, skutecznie usuwając je

bit tee pewne obejście, aby uniknąć zatrzymania jeśli Jenkins wynik polecenia pep8 jest niezerowy.

Powiązane problemy