如何使用扩展在 Azure DevOps 中自动标记分支(Tag/Branch Git 发布)
How to Tag a branch Automatically in Azure DevOps using extension (Tag/Branch Git On Release)
借助 Azure DevOps 发布管道,我计划使用以下由 Micheal Barry Tag\Branch Git 在发布时创建的扩展自动标记我的 brach。见下图:
我有点想知道如何将标签名称自定义为 UAT_$(date:yyyyMMdd)$(Rev:.r)
。由于文档有限,这就是我尝试添加的方式(见下文)
我怎样才能做到这一点?另外,我更感兴趣的是如何为这个扩展填写这些高级选项。
您在管道中使用了错误的任务。建议使用 git 标签任务,它对我来说工作得很好,你可以在标签字段中使用你的命名
Git Tag Task
我发现这个扩展程序更容易设置并且满足我们的需求。所以基本上我的 git tag=assembly 版本。每次我们在生产环境中发布时,我都会这样做(更改 assemblyInfo 信息并将其存储在构建定义中的 Variable 中)。市场上有一组任务允许从 asemblyInfo 读取和写入。对于 git 标签任务,我只使用之前设置的 Tag 变量,基本上每个新版本都会递增 1。您可以在下面的图片中查看更多内容
所以我实际上只是添加简单的标签来镜像我的 assemblyVersion 但在标签消息中我还添加了我的构建信息,看起来像这样 $(build.buildNumber)-$(Tag)
如果您想更深入地了解 azure devops 预定义变量,可以在此处进行 Use predefined variables
$(date:yyyyMMdd)$(Rev:.r)
仅在 BuildNumber (Options=>Build Number Format) and ReleaseNumber 中受支持(选项 => 发布名称格式)。所以如果直接把$(date:yyyyMMdd)$(Rev:.r)
放在Static Tag Name
里面,任务就无法评估它的值
这里有几个方向来做你想做的事:
- 使用
$(date:yyyyMMdd)$(Rev:.r)
作为发布名称格式。
然后在Static Tag Name
输入中使用UAT_$(Release.ReleaseName)
。
结果:
PS:如果您将构建管道设置为发布管道的工件源,您也可以在您的发布名称格式中使用$(Build.BuildNumber)/$(Build.DefinitionName)
。
2.If 您更喜欢使用 Release-$(date:yyyyMMdd)$(Rev:.r)
作为发布名称格式。现在因为你想要的是 UAT_xxx
,你需要使用 Regex
选项:
假设您的发布名称实例是 Release-20200518.5
,如果您按照我上面的输入配置任务,那么现在标签将是 UAT_20200518.5
。
另外:
当发布名称格式为 $(date:yyyyMMdd)$(Rev:.r)
时,您的发布将是:
您可以选择使用 Static Tag Name
,检查上面的 #1。
并且当名称格式为 Release-$(date:yyyyMMdd)$(Rev:.r)
时,您的发布将是:
您应该在该第三方任务中使用正则表达式选项,检查上面的#2。关于什么是 Regex,请参阅 here,网上也有很多 documents/blogs 关于 Regex 的主题...
借助 Azure DevOps 发布管道,我计划使用以下由 Micheal Barry Tag\Branch Git 在发布时创建的扩展自动标记我的 brach。见下图:
我有点想知道如何将标签名称自定义为 UAT_$(date:yyyyMMdd)$(Rev:.r)
。由于文档有限,这就是我尝试添加的方式(见下文)
我怎样才能做到这一点?另外,我更感兴趣的是如何为这个扩展填写这些高级选项。
您在管道中使用了错误的任务。建议使用 git 标签任务,它对我来说工作得很好,你可以在标签字段中使用你的命名 Git Tag Task
我发现这个扩展程序更容易设置并且满足我们的需求。所以基本上我的 git tag=assembly 版本。每次我们在生产环境中发布时,我都会这样做(更改 assemblyInfo 信息并将其存储在构建定义中的 Variable 中)。市场上有一组任务允许从 asemblyInfo 读取和写入。对于 git 标签任务,我只使用之前设置的 Tag 变量,基本上每个新版本都会递增 1。您可以在下面的图片中查看更多内容
所以我实际上只是添加简单的标签来镜像我的 assemblyVersion 但在标签消息中我还添加了我的构建信息,看起来像这样 $(build.buildNumber)-$(Tag)
如果您想更深入地了解 azure devops 预定义变量,可以在此处进行 Use predefined variables
$(date:yyyyMMdd)$(Rev:.r)
仅在 BuildNumber (Options=>Build Number Format) and ReleaseNumber 中受支持(选项 => 发布名称格式)。所以如果直接把$(date:yyyyMMdd)$(Rev:.r)
放在Static Tag Name
里面,任务就无法评估它的值
这里有几个方向来做你想做的事:
- 使用
$(date:yyyyMMdd)$(Rev:.r)
作为发布名称格式。
然后在Static Tag Name
输入中使用UAT_$(Release.ReleaseName)
。
结果:
PS:如果您将构建管道设置为发布管道的工件源,您也可以在您的发布名称格式中使用$(Build.BuildNumber)/$(Build.DefinitionName)
。
2.If 您更喜欢使用 Release-$(date:yyyyMMdd)$(Rev:.r)
作为发布名称格式。现在因为你想要的是 UAT_xxx
,你需要使用 Regex
选项:
假设您的发布名称实例是 Release-20200518.5
,如果您按照我上面的输入配置任务,那么现在标签将是 UAT_20200518.5
。
另外:
当发布名称格式为 $(date:yyyyMMdd)$(Rev:.r)
时,您的发布将是:
您可以选择使用 Static Tag Name
,检查上面的 #1。
并且当名称格式为 Release-$(date:yyyyMMdd)$(Rev:.r)
时,您的发布将是:
您应该在该第三方任务中使用正则表达式选项,检查上面的#2。关于什么是 Regex,请参阅 here,网上也有很多 documents/blogs 关于 Regex 的主题...