我已成功设置Cobertura以运行Jenkins并生成覆盖率报告,现在我仍然坚持配置Violations以报告pep8测试的结果。
现在我拥有它以便我使用批处理命令运行PEP8并生成一个.txt文件,该文件存储最终在工作区中的所有违规。
我是否必须定义批处理命令来为这些违规创建一个xml文件,以便发送到Report Violations Post-build操作?如果是这样,我将如何定义该命令?
答案 0 :(得分:26)
正如Vajk所指出的,您不需要XML文件。您可以简单地将pep8实用程序的输出传递给文件,并将其用作Jenkins中的违规文件。
例如,在您的Jenkins构建配置下:
Build -> Execute Shell -> Command
你可以写:
pep8 path/to/code > pep8_report.txt
然后在:
Post-build Actions -> Report Violations -> pep8 / XML filename pattern
添加:
pep8_report.txt
请注意,即使UI要求提供XML文件且该文件不是XML文件,这在Jenkins 1.499版上也适用于我。
答案 1 :(得分:0)
我认为这是一个非常古老的问题,但我自己也很难找到答案,所以希望这会有助于其他人。
经过大量研究后我发现Jenkins Violations插件不喜欢每行之前的./位,所以只需解析pep8的输出(它对flake8也有效)就可以了:
pep8 . | 's|^./||' | tee pep.txt
那里的重要位是sed,它将字符串(^)开头的./的出现更改为'''有效地删除它们
如果pep8命令的输出非零,那么tee位是避免Jenkins暂停的一些解决方法。