我有三个条件作为变量(isMaster,isRelease,isHotfix):
当我将两个 "false" 作为 OR 条件(例如 checkCondition)时,问题就出现了。我应该得到 "false",但出于某种原因,我得到了 "true"。
variables:
isMaster: $[startsWith(variables['Build.SourceBranch'], 'refs/heads/master')]
isRelease: $[startsWith(variables['Build.SourceBranch'], 'refs/heads/release/')]
isHotfix: $[startsWith(variables['Build.SourceBranch'], 'refs/heads/hotfix/')]
checkCondition: $[or(variables.isMaster, variables.isRelease)]
当我将两个 "false" 作为 OR 条件(例如 checkCondition)时,问题就出现了。我应该得到 "false",但出于某种原因,我得到了 "true"。
- task: CmdLine@2
inputs:
script: |
echo %BUILD_SOURCEBRANCH%
echo %ISMASTER%
echo %ISRELEASE%
echo %ISHOTFIX%
echo %CHECKCONDITION%
condition: or(variables.isMaster ,variables.isRelease)
...
Result:
...
refs/heads/someBranch
False
False
False
True
Finishing: CmdLine
有人知道为什么条件会给出错误的结果吗?
谢谢!
condition: or(variables.isRelease ,variables.isMaster)
吗?这可能会有所不同。https://developercommunity.visualstudio.com/content/problem/1236160/and-condition-on-stage-level-is-incorrectly-evaulu.html - Krzysztof Madejand(succeeded(), <your or condition>)
中。 - Mansoor