Azure经典构建流水线Veracode扫描无法过滤上传文件求助
Azure Classic流水线Veracode扫描排除Code Coverage报告的解决方案
方法1:前置过滤工件目录
在Veracode扫描任务前添加命令行任务,将需要扫描的文件复制到临时目录,排除Code Coverage相关文件:
- 假设原始工件目录为
$(Build.ArtifactStagingDirectory),要排除的是coverage-report.html文件或coverage文件夹 - Windows环境命令示例:
新建mkdir $(Build.ArtifactStagingDirectory)\veracode-scan-files xcopy /s /e /exclude:exclude-list.txt $(Build.ArtifactStagingDirectory)\* $(Build.ArtifactStagingDirectory)\veracode-scan-files\exclude-list.txt文件,写入需要排除的内容:coverage-report.html coverage\ - Linux/macOS环境命令示例:
mkdir -p $(Build.ArtifactStagingDirectory)/veracode-scan-files rsync -av --exclude='coverage-report.html' --exclude='coverage/' $(Build.ArtifactStagingDirectory)/ $(Build.ArtifactStagingDirectory)/veracode-scan-files/
完成后,将Veracode任务的应用程序文件路径指向这个临时目录即可。
方法2:配置Veracode任务的排除规则
如果使用Veracode官方Azure DevOps任务(Veracode Upload and Scan),直接在任务配置中设置排除规则:
- 找到任务的"Application Files"区域,填写File Exclusion Patterns(文件排除模式)
- 使用glob语法添加规则:
- 排除单个报告文件:
**/coverage-report.html - 排除整个报告文件夹:
**/coverage/**
- 排除单个报告文件:
方法3:调整工件生成逻辑
如果Code Coverage报告是构建过程中生成的,可直接避免将其纳入工件目录:
- 在生成报告的任务后添加命令行任务,将报告移至非工件目录(如
$(Build.BinariesDirectory),默认不会被作为工件上传):move $(Build.ArtifactStagingDirectory)\coverage-report.html $(Build.BinariesDirectory)\
内容的提问来源于stack exchange,提问作者Srivatsa Marichi
相关产品推荐
相关产品推荐

