首页 > 解决方案 > 忽略 jenkins 中 pylint 扫描中的某些文件

问题描述

我是詹金斯的新手。我正在尝试将 pylint 与 jenkins build 集成。在我的 jenkins 文件中,我说它扫描所有带有 .py 扩展名的文件,并且仅当 jenkins 构建分数大于 9/10 时才部署。我有一种情况需要告诉 pylint 明确忽略某些文件。我浏览了 pylint 文档,发现我们可以使用 pylint-ignore 或添加文件以忽略 pylint.cfg 文件中的部分

我的詹金斯扫描码如下所示

stage('Code Scan - Python') {
            steps{
                script {
                    sh '''
                    eval $(pylint --version --rcfile=pylint.cfg $(find . -type f -name "*.py") --output-format=parseable -r y > pylint.log)
                    pip install pylint-ignore 
                    pylint-ignore --rcfile=pylint.cfg pandas,numpy,psycopg2,node_modules,numpy-1.20.1.dist-info,pytz,six-1.15.0.dist-info,six.py,numpy.libs,dateutil,pydash,python_dateutil-2.8.1.dist-info
                    cat pylint.log
                    pylint-fail-under --fail_under 9.0 pylint-ignore --rcfile=pylint.cfg pandas,numpy,psycopg2,node_modules,numpy-1.20.1.dist-info,pytz,six-1.15.0.dist-info,six.py,numpy.libs,dateutil,pydash,python_dateutil-2.8.1.dist-info --rcfile=pylint.cfg --output-format=parseable -r y
                    '''
                }
            }
        }

我收到这个错误

Invalid path, does not exist: pylint-ignore.md

但是如果我执行

pylint --rcfile=omni-eventing-pub-sub-tmp/pylint.cfg  omni-eventing-pub-sub-tmp

从我的命令行,它忽略我在我的 pylint.cfg 文件中指定的所有文件,扩展名为 .py

ignore=pandas,numpy,psycopg2

并给我一个分数。我正在尝试对詹金斯做同样的事情并且很难过

标签: pythonjenkinsjenkins-pluginspylintpylintrc

解决方案


我必须指定 -path 并传递我的 .py 文件所在的目录

eval $(pylint --rcfile=pylint.cfg $(find . -type f -path '*/src/*.py')  --output-format=parseable -r y > pylint.log)

推荐阅读