仅使用jenkins对已更改的行/文件运行pylint

时间:2016-09-26 18:13:55

标签: python git jenkins pull-request pylint

目前,我正在使用Jenkins的违规插件生成违反PEP8的报告。由于我只是开始使用此检查,因此存在数量疯狂的违规行为。因此,我想首先检查拉取请求中的更改内容。

当打开拉取请求时,我使用github拉取请求构建器来测试拉取请求,并且我也想使用pylint(或等效的)来检查样式。

我使用此命令为jenkins生成我当前的pylint报告

pylint -f parseable ‘/var/lib/ci_server/workspace/pylint_check’ | tee pylint.out

上述命令将扫描整个项目,而不仅仅是拉取请求中的更改。

我也试过这个:

git diff-index —name-only HEAD | grep .py | xargs pylint -f pylint -f parseable | tee pylint.out

^此命令运行构建,但在我的拉取请求中产生0违规...看起来我的拉请求以分离的HEAD状态显示(我假设git diff在这种情况下不再起作用?)

这里的总体目标是使用Jenkins扫描拉动请求中的更改中的样式违规...我已经把头发拉了几天了。任何帮助都会非常棒,欢呼!

2 个答案:

答案 0 :(得分:4)

结帐git-lint。它似乎正在做你想要完成的事情。

答案 1 :(得分:0)

有一个项目lint-diffs仅对diff文件运行一个linter,并将结果与​​diff输出进行匹配。

通过适当的配置,它应该适用于任何linter和任何vcs系统。