有没有办法绕过 Azure 多级管道中的依赖项?

Is there a way to bypass dependencies in an Azure multistage pipeline?

 - stage: DeployToIVT
    displayName: Deploy ${{join(' AND ', parameters.ivtEnv )}}
    dependsOn:
    - Build
    condition: |
        and
        (
          eq(dependencies.Build.result, 'Succeeded'),
          
            
            or
            (
              
              startsWith(variables['Build.SourceBranch'], 'refs/heads/release/'),
              startsWith(variables['Build.SourceBranch'], 'refs/heads/refresh/')
            )   
        )

我有一个 master.yml 用于多级管道。 部署到 QA 的阶段是有条件的,依赖于成功构建。 有没有办法取消选中构建并只选中部署阶段以绕过该构建依赖项? 当我尝试它时,它会一起跳过那个阶段并且什么也不做。我试过添加一个条件说

  in(dependencies.Build.result, 'Succeeded', 'SucceededWithIssues', 'Skipped')

但是上面的也不行

谢谢

我的团队也在做类似的事情。如果我们需要进行修补程序等,我们会跳过构建阶段并重用以前构建的工件或绕过整个环境。

我们使用类似于以下的技术,我们在排队时添加一个可以缩短条件的变量:

 - stage: Build
   displayName: 'CI'
   condition: ne(variables['deployWithoutBuild'], 'true')
   ...
 
 - stage: DeployToIVT
   displayName: Deploy ${{join(' AND ', parameters.ivtEnv )}}
   dependsOn:
    - Build
   condition: |
      or(
        and(
          in(dependencies.Build.result, 'Succeeded','SucceededWithIssues','Skipped',''),         
          or(
              startsWith(variables['Build.SourceBranch'], 'refs/heads/release/'),
              startsWith(variables['Build.SourceBranch'], 'refs/heads/refresh/')
            )   
        ),
        eq(variables['deployWithoutBuild'], 'true')
      )

我认为检查 '' 构建结果是为了适应该阶段是否未包含在 运行 的阶段列表中。