git标签的构建时间表

问题描述

是否可以使用标签来调度Yaml管道。我想实现的是一种简单的方法来指定要构建的提交。对于此系统,需要在每次部署时重建它。我不想为此使用分支,因为当我需要部署新版本时,我希望避免合并。

最终,我会将标记名称放在一个变量中以便于更新。标签也似乎可以与触发器配合使用,但是我无法使其与时间表配合使用。

我尝试过类似的操作,但没有任何反应。如果我用master更改refs / tags / release-20200907-4,它会起作用

schedules:
  - cron: "*/5 * * * *"
    always: true
    branches:
      include:
      - refs/tags/release-20200907-4

解决方法

看来这是不可能的。在documentation之后:

计划的触发器评估 发生以下事件时,将为分支评估计划的触发器。

  • 已创建管道。
  • 通过推送或通过在管道编辑器中对其进行编辑来更新管道的YAML文件。
  • 已更新管道的YAML文件路径以引用其他YAML文件。此更改仅更新默认分支,因此将仅在更新的YAML文件中为默认分支选择计划。如果随后有任何其他分支合并了默认分支,例如git pull origin master,则将对该分支评估新引用的YAML文件中的计划触发器。
  • 已创建一个新分支。

在分支中发生这些事件之一之后,如果该分支与该分支的YAML文件中包含的计划触发器的分支过滤器匹配,则添加该分支的所有计划运行。

并且由于文档明确仅指向分支而不是标签,并且测试证明这不适用于标签,因此无法实现所需的方法。甚至触发评估也是由新分支而不是新标签触发的。

您可以考虑在developer community上添加此功能请求。