【发布时间】:2019-02-27 20:54:11
【问题描述】:
我在 Jenkinsfile 中使用 Jenkins Pipeline 作为源代码
我没有使用多分支管道,因此我无法使用标准 when 条件进行分支选择。我的 git 存储库的主机是 gitlab,但我正在使用 gitlab 插件,所以我可以看到这个环境变量已设置:
Name: gitlabSourceBranch -> Value continuous_integration
但是,当我尝试在某个阶段使用此环境变量时,我会得到:
Stage "build_sd_card" skipped due to when conditional
我使用的when条件是:
when {
environment name: 'gitlabSourceBranch ', value: 'continuous_integration'
}
我使用了 jenkins 语法声明指令生成器来生成它。
我用这个函数打印出环境(在前面的阶段调用):
@NonCPS
def printParams() {
env.getEnvironment().each { name, value -> println "Name: $name -> Value $value" }
}
为什么这个when 条件不起作用?
【问题讨论】:
标签: git jenkins jenkins-pipeline