如何知道Azure DevOps构建管线的上一步结果?

如何知道Azure DevOps构建管线的上一步结果?,azure,azure-devops,azure-pipelines,azure-pipelines-release-pipeline,azure-pipelines-build-task,Azure,Azure Devops,Azure Pipelines,Azure Pipelines Release Pipeline,Azure Pipelines Build Task,我想知道是否有任何方法可以让我们知道在azure dev ops的构建管道中执行前一步的结果 要详细解释我的查询,请执行以下操作: 假设在azure Devops中,我有一个大约10个步骤的构建管道,它只执行一些任务,比如准备构建、构建解决方案、同步和其他一些事情 现在我想知道某个步骤执行的状态是失败还是成功,换句话说: 第一步:成功 第二步:成功 步骤3:失败 第四步:我想知道第三步执行的状态是失败还是失败 基于此,我希望执行步骤4 步骤5:应按照与步骤4类似的方式执行,即基于 步骤3 步骤6

我想知道是否有任何方法可以让我们知道在azure dev ops的构建管道中执行前一步的结果

要详细解释我的查询,请执行以下操作: 假设在azure Devops中,我有一个大约10个步骤的构建管道,它只执行一些任务,比如准备构建、构建解决方案、同步和其他一些事情

现在我想知道某个步骤执行的状态是失败还是成功,换句话说:

  • 第一步:成功
  • 第二步:成功
  • 步骤3:失败
  • 第四步:我想知道第三步执行的状态是失败还是失败 基于此,我希望执行步骤4
  • 步骤5:应按照与步骤4类似的方式执行,即基于 步骤3
  • 步骤6:应该执行
  • 步骤7:应该执行
  • 依此类推,直到第10步

    我的问题是如何做到这一点?如何在前一步执行结果的基础上,使少数步骤的执行不被执行,其余步骤则应执行

    请注意,我试着把喜欢执行只有当所有以前的任务都成功了,但它仍然不工作。它仍然执行步骤4和5

    还要注意的是,步骤7有一些与之相关联的自定义条件,可以正常工作。本说明仅用于提供如何定义或创建我的构建管道任务的更多上下文


    请帮助我解决这个问题或实现这种行为

    如果前面的步骤失败,您可以使用自定义条件仅执行步骤3和步骤4(至少是前面的一个步骤),但之后的所有其他步骤都将被跳过(如果它们期望所有步骤都成功)或全部执行(如果您将它们设置为
    成功或失败()

    在这个决定中,你不可能真的充满活力


    您可以在没有阶段和作业的情况下完成所需的工作,但我认为您所描述的案例是管道内的一个很好的候选。下面是一个yaml管道示例,它遵循您问题中的逻辑。将
    依赖项:
    条件:
    结合起来将有助于您构建这些类型的de管道中的悬垂图

    trigger:
    - master
    
    pool:
      vmImage: 'ubuntu-latest'
    
    jobs:
    - job: Foo 
      displayName: (Steps 1-2)
      steps:
      - script: echo Hello, world!
        displayName: Number 1
    
      - script: echo Hello, world!
        displayName: Number 2
    
    - job: Bar 
      displayName: (Step 3)
      dependsOn: Foo
      steps:
      - script: 0\0
        displayName: Number 3
    
    - job: Qux 
      displayName: (Step 4-5)
      dependsOn: Bar
      condition: failed()
      steps:
      - script: echo Hello, world!
        displayName: Number 4
    
      - script: echo Hello, world!
        displayName: Number 5
    
    - job: baz
      displayName: (Step 6+)
      dependsOn: Qux
      condition: always()
      steps:
      - script: echo Hello, world!
        displayName: Number 6
    
      - script: echo Hello, world!
        displayName: Number 7
    

    这回答了你的问题吗?谢谢@4c74356b41,你的想法解决了我的问题。非常感谢。我尝试了你的建议,它与其他小特威克一起工作。你好,@ChaitanyaNG我正在尝试实现类似的流程。你能分享你的解决方案吗?如何检查以前其他任务的状态?另外,你能帮我回答这个问题吗is post->Thank for your input实际上我已经按照下面的建议解决了这个问题,但无论如何,感谢您的输入,如果我遇到类似的管道,我一定会研究您的想法,并尝试实现您描述的方式。您好@eric smith我想实现类似的工作流,但在classi中你能帮我回答这个问题吗?