我经历了此[answer](Conditional environment variables in Jenkins Declarative Pipeline),并在下面寻找类似的东西,我需要在env变量中设置凭据的值。
pipeline {
agent any
environment {
TOKEN = env.BRANCH_NAME.equals('master') ? credentials('some-token') : credentials('another-token')
}
}
这是可能的还是任何其他方式。请建议!
答案 0 :(得分:0)
我想还有两种可能性。首先,您可以在environment
标记中使用if-else。或者,您可以设置environment variables dynamically。
pipeline {
agent any
environment {
// Using returnStdout
CC = """${sh(
returnStdout: true,
script: 'echo "clang"'
)}"""
// Using returnStatus
EXIT_STATUS = """${sh(
returnStatus: true,
script: 'exit 1'
)}"""
}
stages {
stage('Example') {
environment {
DEBUG_FLAGS = '-g'
}
steps {
sh 'printenv'
}
}
}
}