首页 > 解决方案 > Jenkinsfile 比较变量

问题描述

我有一个 Jenkinsfile,我想在其中比较表达式中的两个变量。假设我的目标应该有 v1 和 v2 相同的值,应该跳过这一步,但两个变量没有相同的值,詹金斯应该取消工作。

我现在的舞台是这样的。不幸的是,即使两个变量的值不同,詹金斯也会覆盖这一步。

stage('Compare') {
  when {
    expression { myVar = myVar2}
  }
  steps {
    exit 
  }
}

标签: jenkinsgroovyjenkins-pipeline

解决方案


你在你的when条件下犯了一个错误。该表达式myVar = myVar2是一个赋值表达式(您将 valuemyVar2赋给 variable myVar)。如果要测试两个变量是否相等,则需要使用==运算符。

stage('Compare') {
  when {
    expression { myVar == myVar2 }
  }
  steps {
    exit 
  }
}

推荐阅读