Azure pipelines 基于推送标签的触发器构建

Azure pipelines 基于推送标签的触发器构建,azure-pipelines,azure-pipelines-release-pipeline,Azure Pipelines,Azure Pipelines Release Pipeline,我有一个构建,当提交被推送到我的主分支时触发。这些构建生成预发布的nuget包。当我推标签时,我想做一个没有发布前后缀的完整版本。当标签被推送到回购协议时,是否可能触发某些特定的构建/发布(仅限)?否,当标签被推送到回购协议时,没有触发构建/发布的功能。这是必须的 解决办法是: 创建/添加一个PowerShell文件到源代码管理中,以将build tag()per添加到repo的新标记中(逻辑:1.2.比较它们(例如creationData、tag name或将其与旧标记进行比较(可以存储在文件

我有一个构建,当提交被推送到我的主分支时触发。这些构建生成预发布的nuget包。当我推标签时,我想做一个没有发布前后缀的完整版本。当标签被推送到回购协议时,是否可能触发某些特定的构建/发布(仅限)?

否,当标签被推送到回购协议时,没有触发构建/发布的功能。这是必须的

解决办法是:

  • 创建/添加一个PowerShell文件到源代码管理中,以将build tag()per添加到repo的新标记中(逻辑:1.2.比较它们(例如creationData、tag name或将其与旧标记进行比较(可以存储在文件中)3.如果满足您的要求4.将标记添加到build(##vso[build.addbuildtag]build tag))
  • 创建新的生成定义
  • 选中触发器选项卡中的
    连续集成(CI)
    选项并指定分支筛选器
  • 添加PowerShell步骤以生成定义并指定该PowerShell文件
  • 创建新的发布定义
  • 选中触发器选项卡中的
    Continuous Deployment
    选项,并指定
    Set trigger on artifact source
    ,然后单击
    Add
    添加标记条件
  • 之后,如果在构建中添加了特定的标记,则将创建新版本


    关于使用PowerShell调用REST API,您可以参考:

    您看过这个线程吗

    尝试在“分支筛选器”中指定refs/tags/*

    这在最简单的情况下对我有效——当我推送任何标记(但在我的情况下仅推送到分支的头提交)——构建被触发

    更新:关于“只向分支的头部提交”的问题在我这方面。实际上,它触发了在任何提交中添加标记的构建