【问题标题】:Using a variable for branch name is not working使用变量作为分支名称不起作用
【发布时间】:2019-03-23 06:33:48
【问题描述】:

我们有一个使用多个分支(dev、test、prod)的构建管道(Product1)。

在发布管道/工件设置中,我们使用以下设置:

  • Default version:带有标签的特定分支的最新消息
  • Branch: $(Branch.name) --> 可以在发布时设置。

我们遇到的场景:

  • 最新的成功构建正在使用 dev 分支。
  • 还有另一个使用测试分支的成功构建。
  • 创建新版本,并将 Branch.name 设置为 test --> 它不使用测试分支,它使用最后一个成功的分支,即 dev 分支。

我们如何在发布管道中使用分支变量?

【问题讨论】:

  • 这是针对 Git 存储库还是 TFVC 存储库?您的问题的答案会因您使用的不同而有所不同。
  • 我们正在使用 bitbucket

标签: azure-devops azure-pipelines-release-pipeline


【解决方案1】:

当您设置Default version: Latest from a specific branch with tags

您需要为构建添加标签,然后在工件设置中指定特定标签,否则它将使用从构建管道生成的最后一次成功构建(将忽略指定的分支)。

例如,在下面的屏幕截图中,我添加了一个标签 master 以使用 master 分支成功构建,然后在 Artifact 设置中指定标签。因此,当您创建一个版本时,它会自动选择具有标签 master 并使用 master 分支的最新版本。

【讨论】:

  • 你好安迪,谢谢你的回复。这意味着创建发布的任何人都必须在创建发布之前对其进行编辑。我试过了,它根据标签而不是分支变量来选择构建。有什么方法可以为标签使用变量吗?
  • @MohamedShehata 它也使用分支变量,这意味着如果您为来自 master 和 Dev 分支的构建添加相同的标签(例如标签 master),它将获取特定的如果您指定分支变量,则分支的最新版本。否则它将从管道中获取最新的一个(无论分支是什么)......一切都按我的预期工作......
  • @MohamedShehata 好吧,在更新的答案中查看捕获的 gif。
  • 安迪您好,感谢您的详细回复。这意味着不可能在发布时使bit可设置(这就是我想要实现的),对吧?
  • @MohamedShehata 是的,根据我的测试,您可以在发布时修改/更改变量的值(可设置),但新值不会立即反映在页面上。所以可设置的分支变量在发布时不可用,它只在发布管道中可用,这意味着可设置的值将反映在发布管道中定义的任务......
猜你喜欢
  • 2014-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-03
  • 1970-01-01
  • 2013-09-20
  • 2019-02-11
  • 1970-01-01
相关资源
最近更新 更多