OWASP依赖检查和Jenkins Pipeline

3

我正在尝试将依赖检查添加到我的JenkinsFile中,但没有成功。

插件安装和配置已完成。
全局工具配置
名称:Vulnerability5
自动安装(已选中)
版本:dependency-check 5.2.4

pipeline {

   agent any

    tools {
       nodejs "node8"
       dependency-check "vulnerability5"
    }

   stages {
       stage('Install Deps') {
        steps {
            //Install dependecies
            sh 'yarn install'
        }
      }
      stage('Dependency Check') {
        steps {
            // Run OWASP Dependency Check
            dependencyCheck additionalArguments: '-f "HTML, XML,CSV" -s .'
        }
      }
   }
}

在工具中添加依赖项检查正在破坏管道文件。有什么想法我错过了什么吗?


它是如何破坏管道文件的?请分享详细信息和错误消息。 - Patrice M.
1个回答

8

我使用这样的指令,它可以很好地工作:

stages {
        stage ('OWASP Dependency-Check Vulnerabilities') {
            steps {
                dependencyCheck additionalArguments: ''' 
                    -o "./" 
                    -s "./"
                    -f "ALL" 
                    --prettyPrint''', odcInstallation: 'OWASP-DC'

                dependencyCheckPublisher pattern: 'dependency-check-report.xml'
            }
        }     
    }

odcInstallation: 'OWASP-DC' 是预先安装和配置的插件,用于在我的Jenkins中检查OWASP依赖项。


希望你能再次帮助我。我已经成功在一个FreeStyle Jenkins项目中配置和使用了插件,现在正在尝试在我的流水线中使用相同的插件。我在流水线的一个已有阶段中添加了dependencyCheck,但是出现了以下错误:groovy.lang.MissingPropertyException: No such property: dependencyCheck for class: groovy.lang.Binding - John Camerin
2
好的,我相信我已经解决了自己的问题。我会在这里发布,以便其他可能遇到类似问题的人受益。 1)我的流水线是一个Groovy脚本,所以我需要添加()让Jenkins找到插件。 2)如果你省略additionalArguments参数,插件会抛出NPE异常。 3)odcInstallation是必需的,其值应该是在Jenkins全局工具配置中配置的Dependency-check安装的名称。 - John Camerin
由于某种原因,dependencyCheck 的行为就像在扫描完全不同的目录一样。例如,它抱怨我没有 package-lock.json 文件,但我知道我有这个文件。我尝试过使用 ${WORKSPACE}./,但似乎都不起作用。有什么想法吗? - robross0606

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接