我在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容器而不是真正运行的操作系统。那就是我困惑的根源所在。
答案 0 :(得分:1)
它不是在寻找环境变量。 sourceanalyzer是一个可执行文件。它在路径中不可用。
此外:您可以将docker容器视为操作系统(在开始之前聚合多个事物和图层进行聚合)。 如果要进入JENKIN映像的RUNNING实例,请启动以下命令。 (确保您的容器正在运行)。
#>docker exec -it <container-id> sh
启动时可以使用容器ID
#>docker ps