运行pylint时Azure DevOps管道失败

时间:2020-05-10 10:00:14

标签: bash azure-devops pylint

作为我的Azure DevOps管道的第一步,我希望通过运行pylint来验证我的Python文件。这导致管道失败。 我的项目可以通过以下地址公开获得:

https://dev.azure.com/gcr84/dark-matter-attractor

,其中所有代码在存储库中都是可见的,并且可以使用管道运行历史记录。我想了解为什么pylinting会导致管道失败,并且我尝试添加以下命令:

"|| pylint-exit $?"

(请参阅https://pypi.org/project/pylint-exit/

以及

failOnStderr: false

(请参阅https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/bash?view=azure-devops)。

下面是我的bash命令:

- bash: find -name '*.py' | xargs pylint || pylint-exit $?
  displayName: 'Run pylint'
  failOnStderr: false

1 个答案:

答案 0 :(得分:1)

检查日志后,这似乎是与Azure DevOps无关的预期行为。

  - fatal message issued

  - error message issued

  - refactor message issued

  - convention message issued

  - usage error

Fatal messages detected.  Failing...

这引发了错误退出代码1,最终使bash任务失败。

配置failOnStderr=false仅在将任何错误写入stderr时才能防止此任务失败。并非所有错误都被忽略。

如果您不想处理诸如python-pylint 'C0103:Invalid constant name之类的错误。解决方法应添加continueOnError: true

- bash: find -name '*.py' | xargs pylint || pylint-exit $?
  displayName: 'Run pylint'
  failOnStderr: false
  continueOnError: true

这将迫使您的构建继续运行。此外,您还可以尝试使用一些第三方扩展来运行pylink,例如-PyLint Checker