多个管道触发器,用于单次提交

问题描述 投票:0回答:1

multiple pipeline triggered on a single commit

我在我的托管代理上运行此 yaml 管道。我的问题是,当我提交管道时,它会触发并运行多个管道,而不是仅运行一个管道。我必须做出哪些更改,以便管道在我提交时仅运行一次(触发)

触发:

  • 主要

泳池: 名称:默认

步骤:

  • 任务:PowerShell@2 displayName: '创建文本文件' 输入: 目标类型:'内联' 脚本:| Set-Content -Path $(Build.SourcesDirectory)/file1.txt -Value "Hello from file 1" Set-Content -Path $(Build.SourcesDirectory)/file2.txt -Value "Hello from file 2"
azure-devops azure-pipelines
1个回答
0
投票

从您的屏幕截图和 YAML 代码来看,问题的原因是所有管道都设置了相同的管道触发器:

trigger: main

在这种情况下,当你在主分支中进行提交操作时,将会触发所有在主分支上设置了管道触发器的管道。

解决这个问题,可以参考以下两种情况:

1.如果所有管道都使用相同 YAML 文件,则需要导航到YAML 编辑器 -> 触发器

您可以启用选项:从此处覆盖 YAML 持续集成触发器。然后您可以禁用其他管道的触发器并启用目标管道的触发器。

2.如果所有管道都使用不同 YAML 文件,您可以编辑 YAML Pipelines 将触发器设置为无,并且仅设置一个管道由主分支触发。

例如:

trigger: none

或者您可以在触发器中设置路径过滤器来排除触发管道的文件。

例如:

trigger:
  branches:
    include:
    - main
    - releases/*
  paths:
    include:
    - docs
    exclude:
    - docs/README.md

更详细的信息,您可以参考文档:禁用 CI 触发器

© www.soinside.com 2019 - 2024. All rights reserved.