我们使用TeamCity和GitHub Enterprise。我们使用git的开源式工作流程:每个组件都有一个mainline
存储库,当人们想要进行更改时,他们
mainline
到他们自己的帐户(因此可能有很多分叉)mainline/master
及时发生的更改fork/feature-branch
的拉取请求 - > mainline/master
我们对此工作流程非常满意;它迫使代码审查(好吧,至少是一个手动步骤,希望涉及实际读取代码并运行其测试),然后主线看到任何变化,这在历史上一直是个问题。如果作者是查看拉取请求的人,我们想使用GH状态API(blog post,API doc)将合并按钮变为非绿色,但这是为了以后。< / p>
我们将TeamCity 7.1设置为观察主线存储库并在看到更改时进行构建。但是,当前设置的方式是,CI只会在看到mainline/master
的更改时生成。
我们应该如何在TeamCity中配置我们的VCS根目录,以便我们可以拥有相同的工作流程,但CI将触发基于主线仓库分支的分支构建?最好不需要注册每个叉子单独?
我已阅读TeamCity 7.1的功能分支文档(blog post,release notes,documentation),但我没有看到如何将其应用于我们的任意模型-thumber-of-forks而不是所有人 - 提交到主线的功能分支。
答案 0 :(得分:6)
您可以通过teamcity监控提款请求:http://blog.jetbrains.com/teamcity/2013/02/automatically-building-pull-requests-from-github-with-teamcity/
答案 1 :(得分:4)
据我所知,TeamCity不会以任何自动方式“寻找”您的github分叉。
我会通过为每个开发人员的forked repo和主线repo创建一个vcs root来解决这个问题。然后将每个根连接到构建。 Docs
不幸的是,这是一个手动过程。每个开发人员一次,每个组件repo。如果我真的想要自动化,我会看一下Github Hooks和adding vcs roots via the TeamCity REST Api的组合。