gpt4 book ai didi

azure-devops - 如何防止基于提交标记触发 Azure DevOps 构建管道?

转载 作者:行者123 更新时间:2023-12-03 17:14:09 26 4
gpt4 key购买 nike

我在基于 Github 的项目中使用 Azure 管道。我设置了一个仅由标记提交触发的构建管道,以使其与每次提交时发生的自动日常构建分开。

我想从触发每日构建管道中排除标记的提交。在 yaml 脚本中这样做的正确方法是什么?

这是我所做的,但没有成功。

根据 Azure 文档 this page ,据我了解,应该可以使用以下内容排除标签:

trigger:
tags:
exclude:
- projectname_v*

但是,这不起作用,只会阻止构建管道在任何提交时运行,无论是否标记。

我也试过:
trigger:
tags:
include:
- *
exclude:
- projectname_v*

但这显然不受支持,因为它会产生错误:
/azure-pipelines.yml: (Line: 12, Col: 7, Idx: 220) - (Line: 12, Col: 8, Idx: 221): While scanning an anchor or alias, did not find expected alphabetic or numeric character.

我还尝试了文档页面上提出的替代语法:
trigger:
branches:
exclude:
refs/tags/{projectname_v*}

以及带/不带大括号和通配符的变体,但都因“意外值”或“输入字符串格式不正确”错误而失败。

编辑 2019-12-10

阅读下面 wallas-tg 的回答后,我在日常构建管道中尝试了以下内容:
trigger:
branches:
include:
- '*'
exclude:
- 'refs/tags/*'

这有效,但不符合我的意愿:
  • 只推送一个标签会触发正确的管道,而不是每日构建的管道
  • 推送没有标签的提交会触发每日构建管道
  • 推送标记的提交会触发两个管道:每日构建管道由提交触发,另一个由标记触发;在这种情况下,我想要的行为是不触发每日构建管道。
  • 最佳答案

    @ acasta69

    我想我找到了解决您问题的方法。我一直在做相反的情况,只构建功能分支并排除其他任何东西。

    为此,请在 azure-pipelines.yml 上使用此 yml 片段

    resources:         
    repositories:
    - repository: myNetProject
    type: GitHub
    connection: myGitHubConnection
    source: wkrea/DockerHubImages
    trigger:
    batch: true
    branches:
    include:
    - releases/*
    exclude:
    - '*'
    paths:
    exclude:
    - README.md

    我能够在 DevOps 上进行构建

    builds triggered succesfuly

    If this answer was useful for you, let me know commenting and rate my answer to find it more easy next time that anyone need help, because the DevOps Pipelines documentations it's really unclear and confusing at moment :'(



    在这里你可以看到我最后一次提交的检查 releases分支

    enter image description here

    关于azure-devops - 如何防止基于提交标记触发 Azure DevOps 构建管道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55224731/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com