使用 OWASP dependencyCheck 为 java 个模块生成单独的报告而不是一份大报告
Using the OWASP dependencyCheck to generate separate reports for java modules instead of one large report
我试图将我的 Jenkins CI 管道生成的依赖项检查报告分解为多个报告(每个模块一个),因为拥有一个巨大的报告会变得相当大且难以阅读。这是我到目前为止完成此操作的代码:
if(fileExists('pom.xml')) {
def pom = readMavenPom file: 'pom.xml'
pom.modules.each {
dependencyCheck additionalArguments: "--scan ./${it} --format CSV --out owasp-reports/${it}-dependency-check-report.csv", odcInstallation: "${env.DEPENDENCY_CHECK}"
dependencyCheck additionalArguments: "--scan ./${it} --format JSON --out owasp-reports/${it}-dependency-check-report.json", odcInstallation: "${env.DEPENDENCY_CHECK}"
dependencyCheck additionalArguments: "--scan ./${it} --format HTML --out owasp-reports/${it}-dependency-check-report.html", odcInstallation: "${env.DEPENDENCY_CHECK}"
}
我正在生成具有适当名称的文件,但没有扫描依赖项。但是,这会适当地生成一个包含所有子模块的大型报告
dependencyCheck additionalArguments: '--scan ./ --format XML --format JSON --format HTML --format CSV --out owasp-reports', odcInstallation: "${env.DEPENDENCY_CHECK}"
如有任何建议,我们将不胜感激。
这可能对其他人有帮助,这是我提出的解决方案:
if(fileExists('pom.xml')) {
def pom = readMavenPom file: 'pom.xml'
pom.modules.each {
dir("${it}"){
sh "mvn org.owasp:dependency-check-maven:aggregate"
sh "mv target/dependency-check-report.html ../owasp-reports/${it}-dependency-check-report.html"
}
}
}
显然,使用 Jenkins 插件调用的问题在于 Jenkins 插件包装了 CLI 命令,这些命令无法识别 pom 文件。
资料来源:dependecy check could not analyze pom.xml for java
我试图将我的 Jenkins CI 管道生成的依赖项检查报告分解为多个报告(每个模块一个),因为拥有一个巨大的报告会变得相当大且难以阅读。这是我到目前为止完成此操作的代码:
if(fileExists('pom.xml')) {
def pom = readMavenPom file: 'pom.xml'
pom.modules.each {
dependencyCheck additionalArguments: "--scan ./${it} --format CSV --out owasp-reports/${it}-dependency-check-report.csv", odcInstallation: "${env.DEPENDENCY_CHECK}"
dependencyCheck additionalArguments: "--scan ./${it} --format JSON --out owasp-reports/${it}-dependency-check-report.json", odcInstallation: "${env.DEPENDENCY_CHECK}"
dependencyCheck additionalArguments: "--scan ./${it} --format HTML --out owasp-reports/${it}-dependency-check-report.html", odcInstallation: "${env.DEPENDENCY_CHECK}"
}
我正在生成具有适当名称的文件,但没有扫描依赖项。但是,这会适当地生成一个包含所有子模块的大型报告
dependencyCheck additionalArguments: '--scan ./ --format XML --format JSON --format HTML --format CSV --out owasp-reports', odcInstallation: "${env.DEPENDENCY_CHECK}"
如有任何建议,我们将不胜感激。
这可能对其他人有帮助,这是我提出的解决方案:
if(fileExists('pom.xml')) {
def pom = readMavenPom file: 'pom.xml'
pom.modules.each {
dir("${it}"){
sh "mvn org.owasp:dependency-check-maven:aggregate"
sh "mv target/dependency-check-report.html ../owasp-reports/${it}-dependency-check-report.html"
}
}
}
显然,使用 Jenkins 插件调用的问题在于 Jenkins 插件包装了 CLI 命令,这些命令无法识别 pom 文件。
资料来源:dependecy check could not analyze pom.xml for java