我如何配置TeamCity以支持源代码集成的GitHub pull请求模型?

我如何配置TeamCity以支持源代码集成的GitHub pull请求模型?,git,teamcity,feature-branch,teamcity-7.1,Git,Teamcity,Feature Branch,Teamcity 7.1,我们使用TeamCity和GitHub Enterprise。我们在git中使用开源工作流:每个组件都有一个mainline存储库,当人们想要进行更改时,他们会 分叉mainline到他们自己的帐户(因此可能有许多分叉) 在其分支中创建分支 实施变革 使用mainline/master更新同时发生的更改 提交fork/feature branch->mainline/master 我们对这个工作流程非常满意;它强制在主线看到任何更改之前进行代码审查(至少是手动步骤,希望包括实际读取代码并运行

我们使用TeamCity和GitHub Enterprise。我们在git中使用开源工作流:每个组件都有一个
mainline
存储库,当人们想要进行更改时,他们会

  • 分叉
    mainline
    到他们自己的帐户(因此可能有许多分叉)
  • 在其分支中创建分支
  • 实施变革
  • 使用
    mainline/master更新同时发生的更改
  • 提交
    fork/feature branch
    ->
    mainline/master
我们对这个工作流程非常满意;它强制在主线看到任何更改之前进行代码审查(至少是手动步骤,希望包括实际读取代码并运行测试),这在历史上一直是一个问题。如果作者是查看pull请求的人,我们希望使用GH Status API(,)将合并按钮变为非绿色,但这将在以后使用

我们已经设置了TeamCity 7.1来监视主线存储库,并在看到更改时进行构建。但是,按照当前的设置方式,CI仅在看到对
mainline/master
的更改时构建

我们应该如何在TeamCity中配置我们的VCS根,以便我们可以拥有相同的工作流程,但CI将触发基于主线回购分支中分支的构建?最好不必单独注册每个分支


我已经阅读了TeamCity 7.1的功能分支文档(,),但我不知道如何将其应用于任意数量的分叉模型,而不是每个人都致力于功能分支中的主线。

据我所知,TeamCity不会以任何自动方式“寻找”您的github分叉

我将通过为每个开发人员的分叉回购和主线回购创建一个vcs根来解决这个问题。然后将每个根连接到构建


不幸的是,这是一个手动过程。每个开发人员、每个组件回购一次。如果我真的想实现自动化,我会考虑和的组合。

您可以通过teamcity监控拉取请求:

请记住,您配置TC使用的用户帐户必须具有写访问权限,如果您告诉它通知Github状态,或者不通知它。所有github pull请求都是特殊的分支,可以添加到构建配置中:
+:refs/pull/*/head
。完成。