【发布时间】:2021-01-20 13:31:26
【问题描述】:
我在 Azure DevOps 中使用多阶段 YAML 管道,我在其中一个阶段构建并将工件部署到其他阶段。我已经设置了一个拉取请求构建,每当推送新代码时,管道中的所有阶段都在运行,这是不可取的。
我想要的是每当将新代码推送到我想要运行构建阶段并跳过部署阶段的任何分支时。默认情况下,此选项在经典管道中可用,因为之前构建和发布是一个单独的组件
【问题讨论】:
标签: azure-devops azure-pipelines
我在 Azure DevOps 中使用多阶段 YAML 管道,我在其中一个阶段构建并将工件部署到其他阶段。我已经设置了一个拉取请求构建,每当推送新代码时,管道中的所有阶段都在运行,这是不可取的。
我想要的是每当将新代码推送到我想要运行构建阶段并跳过部署阶段的任何分支时。默认情况下,此选项在经典管道中可用,因为之前构建和发布是一个单独的组件
【问题讨论】:
标签: azure-devops azure-pipelines
您需要添加条件以跳过拉取请求构建的阶段/步骤。你可以这样做
ne(variables['Build.Reason'], 'PullRequest')
- stage: B
condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))
jobs:
- job: B1
steps:
- script: echo This is not PR trigger
你会发现更多这样的例子here
【讨论】: