Azure Devops 中的多分支管道
Multi branch Pipeline in Azure Devops
我正在尝试在 Azure DevOps 中构建 YAML 发布管道
为此,我创建了多个分支来保存特定于环境的文件
我也创建了 4 个发布管道:
问题:每当我在任何分支中进行任何更改时,所有分支管道都会启动 运行ning。如果我 运行 一个单独的管道,它工作正常。
# 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'
您应该检查管道的 CI 触发器设置,只允许它在您想要的分支上触发
Change CI Trigger
Problem: Whenever I am making any changes in any branch, all the branch pipeline starts running.
如果你只是想运行你修改的分支对应的管道,你需要确保在相应分支中使用YAML文件设置管道并设置正确的分支触发器。
例如,对于 Acc
分支:
我们需要在分支 Feature/TestSample-acc
下创建一个 YAML 文件,在 YAML 文件中使用分支触发器:
trigger:
branches:
include:
- Feature/TestSample-acc
然后使用现有的 Azure 管道 YAML 文件创建管道:
新管道-> Azure Repos Git(YAML)-> Select 您的存储库-> Select 现有 Azure 管道 YAML 文件:
现在,此管道仅由分支上的修改触发 Feature/TestSample-acc
:
您可以为其他分支设置相同的设置,例如
trigger:
branches:
include:
- Feature/TestSample-dev
此外,如果您不想通过 YAML 文件控制触发器,您可以通过 UI 触发器设置覆盖它:
这个选项默认是关闭的,这样我们就可以直接在YAML文件中控制触发器。
如果启用它,您只需为一个分支添加分支过滤器:
如果我没有正确理解您的问题,请免费告诉我您想要实现的目标。
我正在尝试在 Azure DevOps 中构建 YAML 发布管道 为此,我创建了多个分支来保存特定于环境的文件
我也创建了 4 个发布管道:
问题:每当我在任何分支中进行任何更改时,所有分支管道都会启动 运行ning。如果我 运行 一个单独的管道,它工作正常。
# 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'
您应该检查管道的 CI 触发器设置,只允许它在您想要的分支上触发
Change CI Trigger
Problem: Whenever I am making any changes in any branch, all the branch pipeline starts running.
如果你只是想运行你修改的分支对应的管道,你需要确保在相应分支中使用YAML文件设置管道并设置正确的分支触发器。
例如,对于 Acc
分支:
我们需要在分支 Feature/TestSample-acc
下创建一个 YAML 文件,在 YAML 文件中使用分支触发器:
trigger:
branches:
include:
- Feature/TestSample-acc
然后使用现有的 Azure 管道 YAML 文件创建管道:
新管道-> Azure Repos Git(YAML)-> Select 您的存储库-> Select 现有 Azure 管道 YAML 文件:
现在,此管道仅由分支上的修改触发 Feature/TestSample-acc
:
您可以为其他分支设置相同的设置,例如
trigger:
branches:
include:
- Feature/TestSample-dev
此外,如果您不想通过 YAML 文件控制触发器,您可以通过 UI 触发器设置覆盖它:
这个选项默认是关闭的,这样我们就可以直接在YAML文件中控制触发器。
如果启用它,您只需为一个分支添加分支过滤器:
如果我没有正确理解您的问题,请免费告诉我您想要实现的目标。