在码头工人里面的詹金斯如何配置hp强化sourceanalyzer的路径

时间:2018-04-12 04:53:11

标签: docker jenkins-pipeline

我在docker中运行我的jenkins实例。 我正在尝试强化扫描作为后构建步骤。

我有 HPE Security Fortify Jenkins插件 安装。

现在我尝试做类似

的事情
def call(String maven_version) {
withMaven(maven: maven_version) {
    script {
        sh "sourceanalyzer -b %JOB_NAME% -jdk 1.7 -extdirs %WORKSPACE%/target/deps/libs/ %WORKSPACE%/target/deps/src/**/* -source target/%JOB_NAME%.fpr"
        }
    }
}

但是我得到了

[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Fortify Analysis)
[Pipeline] withMaven
[withMaven] Options: []
[withMaven] Available options: 
[withMaven] using JDK installation provided by the build agent
[withMaven] using Maven installation 'Maven 3.3.9'
[Pipeline] {
[Pipeline] script
[Pipeline] {
[Pipeline] sh
[Running shell script
+ sourceanalyzer -b %JOB_NAME% -jdk 1.7 -extdirs %WORKSPACE%/target/deps/libs/ %WORKSPACE%/target/deps/src/**/* -source target/%JOB_NAME%.fpr
script.sh: sourceanalyzer: not found"

我认为我需要做的就是为sourceanalyzer创建一个环境变量,但是如何查看该插件的位置,因为这是一个docker容器而不是真正运行的操作系统。那就是我困惑的根源所在。

1 个答案:

答案 0 :(得分:1)

它不是在寻找环境变量。 sourceanalyzer是一个可执行文件。它在路径中不可用。

此外:您可以将docker容器视为操作系统(在开始之前聚合多个事物和图层进行聚合)。 如果要进入JENKIN映像的RUNNING实例,请启动以下命令。 (确保您的容器正在运行)。

#>docker exec -it <container-id> sh

启动时可以使用容器ID

#>docker ps