我如何限制 Azure DevOps 中的按需(即未触发)管道,以便它们仅在特定分支上运行?
例如,我有一个只能在 master
分支上运行的管道(使用较新的 YAML 语法),因为它用于将代码推送到生产环境,并且只能由某些开发人员(我们处理大量 PII 数据,因此我们的审计控制相当苛刻)。我有另一个管道应该在 except master
的任何分支上运行,因为它用于将代码推送到集成/测试环境,并且可以由任何人运行。
如果我指定了一个触发器,我可以告诉它只在某些分支上触发;但是如果我在我的 YAML 中设置 trigger: none
那么我就不能应用这些限制。有什么想法吗?
最佳答案
我看到这个帖子是因为我有同样的需求。在我的例子中,我想将管道限制为 releases/* 分支。 如果有帮助,我所做的是在舞台上设置条件:
trigger:
branches:
include:
- releases/*
...
- name: isReleasesBranch
value: $[startsWith(variables['Build.SourceBranchName'], 'releases/')]
...
stages:
- stage: Production
displayName: 'Production Deploy'
dependsOn: QA
condition: and(succeeded(), or(variables.isReleasesBranch))
...
关于azure-devops - 如何在不使用触发器的情况下将管道限制到特定分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69444811/