如何在 TeamCity 构建步骤中选择分支?

How to choose branches in TeamCity build step?

我正在尝试使用参数设置构建,这个参数在几个构建步骤中使用,它描述了 Jira 票号,并且来自 Jira。

现在的问题是我需要改进此构建以使用此票号检查分支,或者如果我没有具有此类名称的分支 - 运行 在 master 分支上构建。

我不能将 Changes 选项卡用作其完全自动化的过程。 我也不能在构建步骤中使用 git 命令。

是否可以在构建步骤中获取来自 VCS 的所有分支的列表并在构建步骤的脚本中设置结帐分支?

使用 TeamCity 版本 9.1.1。谢谢你,祝你有愉快的一天。

使用git的解决方案:

我正在寻找可以让我避免使用 git 的 TC 功能。只是为了检查我们在 +:refs/heads/*.

中是否有这样的分支

您可以查看此文档,其中描述了如何正确配置 VCS ROOT 和作业以使用功能分支(您的用例的票证分支): https://confluence.jetbrains.com/display/TCD9/Working+with+Feature+Branches

半解一(使用git):

  1. 在团队城市代理上设置结账。
  2. 在代理上设置 git。
  3. 使用有问题的 bash 命令创建构建步骤。
  4. 使用参数触发构建。

这个解决方案有问题,据我所知,如果构建已经在队列中,则该参数无法发送到 VCS root。它只能在触发时设置。 同样在 TeamCity 的分支列中,不会显示任何个性化分支,只有 任何你想要的 运行.

方案二:

  1. 创建参数reverse.dep.*.teamcity.build.branch
  2. 使用参数触发构建。

此参数将发送构建链中所有构建的结帐。 TeamCity 将尝试使用此参数检出分支,如果它不存在,它将检出默认(主)分支。 作为副作用,TeamCity 中所有相关构建的分支列将显示此参数。

所以现在解决方案 #2 解决了我的问题。