【发布时间】:2021-07-08 03:43:11
【问题描述】:
我正在尝试将工件从一个构建 (Coverity Test) 复制到另一个构建 (MainBuild)。
MainBuild 使用声明式管道。我添加了以下步骤来构建Coverity Test 作为MainBuild 中的最后一步。
stage('Coverity Test') {
when { expression { params.CoverityReport ==true } }
steps{
build job: 'Coverity Test',
parameters: [
string(name: 'COVERITY_TOOL_HOME',
value: '/home/coverity/cov-analysis-linux64-2020.03'),
string(name: 'GIT_BRANCH', value: "${env.PROJ_GIT_BRANCH}")
]
copyArtifacts filter: 'CoverityCrit*Issues.txt', fingerprintArtifacts: true, projectName: 'Coverity Test', selector: specific ('${BUILD_NUMBER}')
}
}
文件 CoverityCrit*Issues 是通过 Coverity Test 构建在脚本中创建的,我已确认这些文件显示为 Jenkins 中 Coverity Test 的工件。
copyArtifacts 命令返回错误“错误:无法从以下位置找到工件副本的构建:Coverity Test”
I used this as an example to create the copyArtifacts command
我做错了什么?
【问题讨论】:
-
您在特定 ('${BUILD_NUMBER}') 周围有单引号,因此不会扩展变量,但您不需要引号或 ${},只需执行:specific(BUILD_NUMBER)
-
另外,value: "${env.PROJ_GIT_BRANCH}" 可以只是:value: env.PROJ_GIT_BRANCH