Sat*_*dey 4 azure-devops azure-pipelines multibranch-pipeline azure-devops-pipelines
我正在尝试在 Azure DevOps 中构建 YAML 发布管道,为此我创建了多个分支来保存特定于环境的文件
我还创建了 4 个发布管道:
问题:每当我在任何分支中进行任何更改时,所有分支管道都会开始运行。如果我运行单独的管道,它工作得很好。
# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml
trigger:
- acc
pool:
name: 'Agent'
steps:
- task: Kubernetes@1
displayName: 'Deploy on K8s Cluster'
inputs:
connectionType: 'Azure Resource Manager'
azureSubscriptionEndpoint: 'vs-aks-sc'
azureResourceGroup: 'azwe-rg-01'
kubernetesCluster: 'azwe-aks-01'
command: 'apply'
arguments: '-f $(System.DefaultWorkingDirectory)/kubernetes/acc.yaml'
Run Code Online (Sandbox Code Playgroud)
问题:每当我在任何分支中进行任何更改时,所有分支管道都会开始运行。
如果您只想运行您修改的分支的相应管道,则需要确保使用相应分支中的 YAML 文件设置管道并设置正确的分支触发器。
例如,对于Acc
分支:
我们需要在分支下创建一个YAML文件,Feature/TestSample-acc
并在YAML文件中使用分支触发器:
trigger:
branches:
include:
- Feature/TestSample-acc
Run Code Online (Sandbox Code Playgroud)
然后使用现有的 Azure 管道 YAML 文件创建管道:
新建管道-> Azure Repos Git(YAML)-> 选择存储库-> 选择现有的 Azure 管道 YAML 文件:
现在,该管道仅由分支上的修改触发Feature/TestSample-acc
:
您可以为其他分支设置相同的值,例如
trigger:
branches:
include:
- Feature/TestSample-dev
Run Code Online (Sandbox Code Playgroud)
此外,如果您不想通过 YAML 文件控制触发器,您可以通过 UI 触发器设置覆盖它:
该选项默认是关闭的,这样我们就可以直接在YAML文件中控制触发器。
如果启用它,您只需为一个分支添加分支过滤器:
如果我没有正确理解您的问题,请免费告诉我您想要实现的目标。
归档时间: |
|
查看次数: |
10834 次 |
最近记录: |