多阶段 YAML Azure Pipeline 条件阶段可见性

Multi-stage YAML Azure Pipeline conditional stage visibility

我们正着手将 Azure Pipelines 从 Classic 迁移到 YAML。基于条件逻辑,多阶段管道是否可以让阶段不显示在阶段列表中?

例如,我们有多阶段管道,它们构建然后通过管道阶段部署到一个或多个环境。当构建发生时,比如说,在非 t运行k 分支上,我们根本不希望某些环境可用于部署。我们有这个逻辑,但排除的环境阶段仍然出现,例如,在管道 运行 历史记录中。

我们能否根据条件逻辑让这些阶段完全不显示?

作为解决方法,您可以使用 Conditional insertion。例如:

- ${{ if eq(variables['Build.SourceBranchName'], 'main') }}:
  - stage: prod
    dependsOn: staging
    jobs:
    - job: deploy_prod
      pool:
        vmImage: 'Ubuntu 16.04'
      steps:
      - script: echo Prod