首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >YAML阶段dependsOn其他阶段但跳过

YAML阶段dependsOn其他阶段但跳过
EN

Stack Overflow用户
提问于 2022-04-01 13:51:33
回答 1查看 742关注 0票数 -1

虽然所有的依赖项似乎都存在,但Stage被跳过了。

以下是管道的需求:

  • 阶段“NextTest”应在“FakeTests”完成后运行
  • 阶段'NextTest‘不应该依赖于'FakeTests’阶段的结果(即使'FakeTests‘失败'NextTest’应该运行)
  • 如果“NextTest”阶段失败,则不应运行“ToSkip”阶段
  • 如果“NextTest”阶段跳过“ToSkip”阶段,则应运行“ToSkip”阶段。

这是yaml:

代码语言:javascript
复制
stages:
- stage: ToSkip
  jobs:
  - job: Skip
    steps:
    - powershell: |
        Write-Host "Something"
- stage: FakeTests
  jobs:
  - job: PassTest
    steps:
    - powershell: |
        Write-Host "Test Passed"
  - job: FailTest
    steps:
    - powershell: |
        Write-Host "Test Failed"
        exit 1
- stage: NextTests
  dependsOn: 
  - FakeTests
  - ToSkip
  condition: | 
    and(
    in(stageDependencies.FakeTests.result, 'Succeeded', 'SucceededWithIssues', 'Skipped', 'Failed'),
    in(stageDependencies.ToSkip.result, 'Succeeded', 'SucceededWithIssues', 'Skipped')
    )
  jobs:
  - job: NextPassTest
    steps:
    - powershell: |
        Write-Host "Test Passed"

此YAML用作AzureDevOps管道。但是,如果跳过“ToSkip”和“FakeTests”,也跳过“NextTest”。为什么会这样呢?如何纠正呢?

EN

回答 1

Stack Overflow用户

发布于 2022-04-15 02:36:06

通过查看stageDependencies JSON结构,在下没有名为“结果”的键。你应该通过

stageDependencies...result

代码语言:javascript
复制
"stageDependencies": {
    "<STAGE_NAME>": {
        "<JOB_NAME>": {
            "result": "Succeeded|SucceededWithIssues|Skipped|Failed|Canceled",
            "outputs": {
                "stepName.variableName": "value"
            }
        },
        "...": {
            //another job
        }
    },
    "...": {
        //anotherstage
    }
}

用你的代码试试这个

代码语言:javascript
复制
condition: | 
and(
in(stageDependencies.FakeTests.PassTest.result, 'Succeeded', 'SucceededWithIssues', 'Skipped', 'Failed'),
in(stageDependencies.FakeTests.FailTest.result, 'Succeeded', 'SucceededWithIssues', 'Skipped', 'Failed'),
in(stageDependencies.ToSkip.result, 'Succeeded', 'SucceededWithIssues', 'Skipped')
)

有关更多信息,您可能希望签出此页

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71708001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档