【问题标题】:How can i filter trigger first by path then tag in azure pipeline?如何先按路径过滤触发器,然后在 azure 管道中添加标签?
【发布时间】:2021-09-21 14:21:46
【问题描述】:

我希望在添加标签时在给定特定路径中更改代码库时触发我的管道。

trigger:
  branches:
    exclude:
      - "*"
  tags:
    include:
      -test.*
  paths:
    include:
      - market/*
    exclude:
      - "*"

目前,即使市场文件夹中没有代码更改,当我添加 test.* 标记时,它也会被触发。但是,如果代码库发生更改,我希望在添加标签时触发我的管道。

有什么建议吗?

【问题讨论】:

    标签: azure-devops yaml azure-pipelines


    【解决方案1】:

    恐怕没有这样的方法可以满足你的要求。

    请参阅此文档:Trigger Path

    指定路径时,必须明确指定要触发的分支。

    你需要定义分支和路径,然后触发路径才能工作。

    从您的 YAML 中,您已经定义了分支 exclude: - "*" 。这意味着您已经排除了所有分支,因此将忽略触发路径。

    只有标签过滤有效,导致你现在的情况。

    参考文档tag filter:

    如果您指定标签与分支过滤器结合使用,则触发器将在满足分支过滤器或标签过滤器时触发。例如,如果推送的标签满足分支过滤器,即使标签被标签过滤器排除,管道也会触发,因为推送满足了分支过滤器。

    Branch filter和Tag filter是Or的关系,满足其中之一就会触发pipeline。

    由于需要同时设置分支和路径过滤器,如果路径和标签满足其中之一,则可以触发管道。

    因此,目前没有这种方法可以满足您的需求。

    我完全理解您的要求。您可以在our UserVoice website 中提交有关此功能的建议票。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-19
      • 2020-09-08
      • 2020-04-13
      相关资源
      最近更新 更多