【问题标题】:TeamCity building specific branch on pull requestTeamCity 根据拉取请求构建特定分支
【发布时间】:2021-05-19 20:53:25
【问题描述】:

我有一个由多个项目组成的解决方案,如下所示:

MySolution
-Project1
-Project2
-Project3

对于每个项目,我在 github 上都有一个分支,例如 Project1Branch、Project2Branch... 我已经在 teamcity 上配置了触发器,用于将 pullrequest 上的容器构建到 master 中。但是当它发生时,所有三个项目都已构建,尽管仅在 Projeсt1 中进行了更改。我尝试在触发器中为构建步骤 +:Project1* 配置分支过滤器,但不起作用。 我该如何解决这个问题?

【问题讨论】:

    标签: git teamcity


    【解决方案1】:

    TL;DR

    • 将您的触发器分支过滤器留给+:*
    • Pull Requests构建功能中,将“源”配置为Project1Branch,将“目标”配置为master分支。
    • 尽量减少 VCS 配置(见下文)。

    对于Project1,将Project1Branch 的每个MR 构建成master

    只看Project1Branch 分支。在您的 VCS 配置中:

    • 默认分支: refs/heads/Project1Branch
    • (可选,除非您需要分支过滤构建步骤)分支规范: Project1Branch

    将与您的模式匹配的 merge-request/... 分支添加到被监视的分支。 拉取请求过滤

    • 按源分支: +:refs/heads/Project1Branch
    • 按目标分支: +:refs/heads/master

    在监视分支中的每个更改时触发。 触发器

    • 分支过滤器: +:*

    如果您想在 MR 分支上触发,请执行 Triggers

    • 分支过滤器:
    +:*
    -:Project1Branch
    

    Project2Project3 也是如此。

    【讨论】:

      猜你喜欢
      • 2018-04-04
      • 1970-01-01
      • 2012-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-12
      • 2023-03-24
      相关资源
      最近更新 更多