【问题标题】:Azure DevOps yaml dependencyAzure DevOps yaml 依赖项
【发布时间】:2020-08-17 05:09:52
【问题描述】:

我对 yaml 的依赖有问题。当我取消上一个阶段时,我希望我的下一个阶段不执行。问题出在 or() and() 部分。当我将 succeeded() 添加到 and() 部分时,它工作正常,但它必须在第二个 or() 条件下工作。不幸的是,当我将 succeeded() 添加到 or() 部分时,它没有按预期工作。下面的代码不起作用,当我取消前一个阶段执行时?

dependsOn: 'CI'
  condition: or(succeeded(), ne(variables['Build.Reason'], 'PullRequest'), eq('${{ parameters.devEnvironment }}', 'dev'), and(eq('${{ parameters.devEnvironment }}', 'dev'), eq(variables['Build.SourceBranch'], 'refs/heads/master'),succeeded()))

【问题讨论】:

    标签: azure azure-devops yaml devops


    【解决方案1】:

    当我取消上一个阶段时,我希望我的下一个阶段不要执行。

    你需要做的是使用and()条件连接你原来的条件和suceeded():

    condition: and({original condition}, succeeded())
    

    示例如下:

    condition: and(or(ne(variables['Build.Reason'], 'PullRequest'), eq('${{ parameters.devEnvironment }}', 'dev'), and(eq('${{ parameters.devEnvironment }}', 'dev'), eq(variables['Build.SourceBranch'], 'refs/heads/master')), succeeded())
    

    【讨论】:

    • @Kylo 很高兴知道我的建议可以帮助解决问题!你可以accept it as answer。这样有类似错误的成员可以从有用的信息中受益。
    猜你喜欢
    • 2020-12-12
    • 1970-01-01
    • 1970-01-01
    • 2020-09-15
    • 2020-04-08
    • 2021-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多