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

时间:2012-09-19 12:32:34

标签: git teamcity feature-branch teamcity-7.1

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

  • fork mainline到他们自己的帐户(因此可能有很多分叉)
  • 在他们的fork中创建一个分支
  • 实施变更
  • 了解mainline/master及时发生的更改
  • 提交fork/feature-branch的拉取请求 - > mainline/master

我们对此工作流程非常满意;它迫使代码审查(好吧,至少是一个手动步骤,希望涉及实际读取代码并运行其测试),然后主线看到任何变化,这在历史上一直是个问题。如果作者是查看拉取请求的人,我们想使用GH状态API(blog postAPI doc)将合并按钮变为非绿色,但这是为了以后。< / p>

我们将TeamCity 7.1设置为观察主线存储库并在看到更改时进行构建。但是,当前设置的方式是,CI只会在看到mainline/master的更改时生成。

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

我已阅读TeamCity 7.1的功能分支文档(blog postrelease notesdocumentation),但我没有看到如何将其应用于我们的任意模型-thumber-of-forks而不是所有人 - 提交到主线的功能分支。

2 个答案:

答案 0 :(得分:6)

答案 1 :(得分:4)

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

我会通过为每个开发人员的forked repo和主线repo创建一个vcs root来解决这个问题。然后将每个根连接到构建。 Docs

不幸的是,这是一个手动过程。每个开发人员一次,每个组件repo。如果我真的想要自动化,我会看一下Github Hooksadding vcs roots via the TeamCity REST Api的组合。