问题描述
我正在我们的代码库中实施 Checkmarx 扫描。我正在使用 Jenkins 和 CheckMarx 插件来完成这项任务。我想从扫描中排除一些文件夹;参考 Jenkins plugin 文档,似乎我所要做的就是在“excludeFolders”字段中添加文件夹名称。但是,这似乎不起作用,或者我没有正确输入值。
我试过 '/test','test/','!/test//*' 但没有用,文件夹在上传到我们的 CheckMarx 之前仍然注册和压缩服务器。
以下是我的管道:
stage("Running checkmarks for Layer"){
steps{
script{
def layer_dir = readFile file: 'layer-list'
def layer_list = layer_dir.split('\\r?\\n')
println (layer_list)
layer_list.each { layer ->
print (layer)
dir("${env.WORKSPACE}/layers/layer-name/$layer"){
step([
$class: 'CxScanBuilder',comment: 'Layer scanning',credentialsId: 'XXXX',excludeFolders: 'test',exclusionsSetting: 'global',failBuildOnNewResults: false,failBuildOnNewSeverity: 'MEDIUM',filterPattern: '''!**/_cvs/**/*,!Checkmarx/Reports/*.*''',fullScanCycle: 10,incremental: true,fullScansScheduled: true,generatePdfReport: true,preset: '36',teamPath: "\\path\\to\\codebase",projectName: "$layer",sastEnabled: true,sourceEncoding: '1',vulnerabilityThresholdResult: 'FAILURE',waitForResultsEnabled: true
])
}
}
}
}
}
关于如何排除“test”文件夹的任何建议?
解决方法
您应该将 excludesSetting 更改为 'job' 而不是 'global',我们无法覆盖全局配置。
然后您可以在 filterPattern 中添加更多过滤器。
,过滤真的很糟糕 - 你有运气吗????
尝试将其添加到 filterPattern 中作为 !Test/*.*
并使用它...