我已經成功安裝了Cobertura以運行Jenkins並生成覆蓋率報告,現在我一直在配置Violations以報告pep8測試的結果。爲詹金斯/違規使用生成PEP8 xml報告
現在我擁有它,這樣我就可以使用批處理命令運行PEP8並生成一個.txt文件,該文件存儲工作區中結束的所有違規行爲。
是否必須定義批處理命令以創建xml文件,以便將這些違規發送到Report Violations Post-build操作?如果是這樣,我將如何定義該命令?
我已經成功安裝了Cobertura以運行Jenkins並生成覆蓋率報告,現在我一直在配置Violations以報告pep8測試的結果。爲詹金斯/違規使用生成PEP8 xml報告
現在我擁有它,這樣我就可以使用批處理命令運行PEP8並生成一個.txt文件,該文件存儲工作區中結束的所有違規行爲。
是否必須定義批處理命令以創建xml文件,以便將這些違規發送到Report Violations Post-build操作?如果是這樣,我將如何定義該命令?
正如Vajk指出的,你不需要一個XML文件。您可以簡單地將pep8實用程序的輸出傳輸到一個文件,並將其用作Jenkins中的違規文件。
例如,在您的詹金斯構建配置下:
Build -> Execute Shell -> Command
你可以寫:
pep8 path/to/code > pep8_report.txt
然後在:
Post-build Actions -> Report Violations -> pep8/XML filename pattern
地址:
pep8_report.txt
請注意,即使用戶界面要求提供XML文件,並且該文件不是XML文件,但在Jenkins版本1.499上,這對我來說工作得很好。
我看到這是一個非常古老的問題,但我自己找了一個答案很麻煩,所以希望這可以幫助其他人。
經過大量的研究,我發現,詹金斯違規插件不喜歡每行前的./位,所以只解析PEP8的輸出(它也是有效的flake8)將這樣的伎倆:
pep8 . | 's|^./||' | tee pep.txt
在那裏最重要的一點是sed這改變了./的出現在字符串(^)爲「」的開始,有效地消除他們
的發球位是一些解決辦法,以避免詹金斯如果停止pep8命令的輸出不爲零。
AFAIK在報表違規行爲pep8行中添加pep8輸出文件名稱(工作區內)是您需要做的唯一步驟,以便讓結果顯示在jenkins中... –