为Jenkins / Violations使用生成PEP8 xml报告

时间:2013-05-31 13:52:20

标签: jenkins jenkins-plugins

我已成功设置Cobertura以运行Jenkins并生成覆盖率报告,现在我仍然坚持配置Violations以报告pep8测试的结果。

现在我拥有它以便我使用批处理命令运行PEP8并生成一个.txt文件,该文件存储最终在工作区中的所有违规。

我是否必须定义批处理命令来为这些违规创建一个xml文件,以便发送到Report Violations Post-build操作?如果是这样,我将如何定义该命令?

2 个答案:

答案 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暂停的一些解决方法。