Jenkinsfile比较变量

时间:2019-03-22 10:07:52

标签: jenkins groovy jenkins-pipeline

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

我目前的阶段看起来像这样。不幸的是,即使两个变量的值都不同,jenkins还是会覆盖此步骤。

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

1 个答案:

答案 0 :(得分:1)

您在@ Input() 状态下犯了一个错误。表达式{ "rulesDirectory": [ "node_modules/codelyzer" ], "extends": [ "rxjs-tslint-rules" ], "rules": { "callable-types": true, "class-name": true, "comment-format": [ true, "check-space" ], "curly": true, "eofline": true, "forin": true, "import-blacklist": [ true, "rxjs" ], "import-spacing": true, "indent": [ true, "spaces" ], "interface-over-type-literal": true, "label-position": true, "max-line-length": [ true, 140 ], "member-access": false, "member-ordering": [ true, { "order": ["static-field", "instance-field", "constructor", "static-method", "instance-method"] } ], "no-arg": true, "no-bitwise": true, "no-console": [ true, "debug", "info", "time", "timeEnd", "trace" ], "no-construct": true, "no-debugger": true, "no-duplicate-variable": true, "no-empty": false, "no-empty-interface": true, "no-eval": true, "no-inferrable-types": [ true, "ignore-params" ], "no-shadowed-variable": true, "no-string-literal": false, "no-string-throw": true, "no-switch-case-fall-through": true, "no-trailing-whitespace": true, "no-unused-expression": true, "no-use-before-declare": true, "no-var-keyword": true, "object-literal-sort-keys": false, "one-line": [ true, "check-open-brace", "check-catch", "check-else", "check-whitespace" ], "prefer-const": true, "quotemark": [ true, "single" ], "radix": true, "semicolon": [ true, "always" ], "triple-equals": [ true, "allow-null-check" ], "typedef-whitespace": [ true, { "call-signature": "nospace", "index-signature": "nospace", "parameter": "nospace", "property-declaration": "nospace", "variable-declaration": "nospace" } ], "unified-signatures": true, "variable-name": false, "whitespace": [ true, "check-branch", "check-decl", "check-module", "check-separator", "check-type", "check-typecast", "check-type-operator", "check-preblock" ], "directive-selector": [ true, "attribute", "cc", "camelCase" ], "component-selector": [ true, "element", "cc", "kebab-case" ], "use-input-property-decorator": true, "use-output-property-decorator": true, "use-host-property-decorator": true, "use-life-cycle-interface": true, "use-pipe-transform-interface": true, "rxjs-add": { "options": [{ "allowElsewhere": false, "allowUnused": false, "file": "./src/rxjs-imports.ts" }], "severity": "error" }, "rxjs-no-unused-add": { "severity": "error" } } } 是一个赋值表达式(您将when的值赋给变量myVar = myVar2)。如果要测试是否两个variables are equal,则需要使用myVar2运算符。

myVar