python - 忽略 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
并给我一个分数。我正在尝试对詹金斯做同样的事情并且很难过
解决方案
我必须指定 -path 并传递我的 .py 文件所在的目录
eval $(pylint --rcfile=pylint.cfg $(find . -type f -path '*/src/*.py') --output-format=parseable -r y > pylint.log)
推荐阅读
- python - 影评爬取
- flutter - 将 Flutter App 上传到 App Store 时出错:非公共 API 使用
- java - 杀死使用 java Process api 启动的 java launch4j 包装的应用程序
- android - 如何通过在android中单击按钮从购物车中删除商品
- kotlin - kotlin 如何使用 stdlib.jar?
- r - 如何将表值转换为列标题
- google-cloud-platform - 将 PyTorch 模型部署到 GCP 导致超出内存限制
- reactjs - events.js :174 抛出错误;// 使用 expo 时未处理的 'error' 事件
- reactjs - 道具类型无法识别?
- assembly - 将相同的值压入堆栈并且 ret 的行为不同