首页 > 解决方案 > 推送标签时如何触发VSTS构建和发布?

问题描述

我有一个相当简单的场景,一个主分支,然后当我想做一个生产版本时,我想用例如标记一个提交。vX.XX

CI/CD 管道如下所示

构建 -> 暂存环境 -> 生产环境

  1. 对 master 的每个提交都会发送到暂存环境
  2. 当我将 vX.XX 标记添加到提交时,我希望触发登台和生产环境。

在将标签推送到 git 时发现了这个链接 Trigger build。我只是不知道如何使它工作。它根本不适合我。

是否有可能以及如何配置 VSTS 以在将标签添加到提交时开始构建?

标签: gitazure-devopsazure-pipelinesazure-pipelines-release-pipeline

解决方案


当提交标签推送到master分支时,构建将分别触发两次(在主分支和标签上),您需要指定发布后触发的生产环境而不是暂存环境。

构建和发布定义设置如下:

构建定义:

在触发器选项卡中 -> 设置分支过滤器以包含masterrefs/tags/v*-> 保存。

在此处输入图像描述

发布定义:

指定工件过滤器以包含master暂存环境的分支-> 选择发布后作为生产环境触发器-> 指定工件过滤器以包含refs/tags/v*用于生产环境-> 保存。

在此处输入图像描述

在此处输入图像描述

如果仅将提交推送到master分支-> 为master分支触发构建 -> 创建新版本 -> 仅部署暂存环境。

如果提交和标签都被推送到master分支-> 触发了两个构建(一个用于master分支,另一个用于refs/tags/v*) -> 创建两个版本:

在此处输入图像描述

  • 对于与master分支上的构建工件链接的版本 -> 仅部署暂存环境;

    在此处输入图像描述

  • 对于与构建工件链接的版本refs/tags/v*-> 仅部署产品环境。

    在此处输入图像描述


推荐阅读