我试图在我的jenkinsfile中添加一个构建后步骤,以将标签应用于构建。Jenkins变量解析得很好,但是我在文件中全局定义的环境变量没有被解析。以下是相关信息:
pipeline {
environment {
VERSION_MAJOR = '1'
VERSION_MINOR = '0'
VERSION_PATCH = '0'
}
stages {
stage('Build') {
steps {
echo('Testing p4Tag')
}
}
}
post {
success {
build job: 'Copy-Installers',
parameters: [
//
string(name: 'MASTER_VERSION_MAJOR', value: '${VERSION_MAJOR}'),
string(name: 'MASTER_VERSION_MINOR', value: '${VERSION_MINOR}'),
string(name: 'MASTER_VERSION_FEATURE', value: '${VERSION_PATCH}'),
string(name: 'MASTER_BUILD_NUMBER', value: '${BUILD_NUMBER}'),
string(name: 'COMPONENT_NAME', value: 'Console')
}
}
}
下游生成失败。查看日志,似乎没有传入本地环境变量:
The Build Number name is: ${VERSION_MAJOR}
The Build Number name is: ${VERSION_MINOR}
The Build Number name is: ${VERSION_PATCH}
The Build Number name is: 924
The Build environment name is: Console
我也尝试过以下变化:
-
value: '${env.VERSION_MAJOR}'
-与上述情况类似
-
value: '$VERSION_MAJOR'
-与上述情况类似
-
value: $VERSION_MAJOR
更新2
引用自
stage
第节。例如,这是按预期工作的:
stage('build') {
sh('./Build/build-package.sh $VERSION_MAJOR $VERSION_MINOR $VERSION_PATCH $BUILD_NUMBER')
}