12

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

  • 分叉mainline到他们自己的账户(所以可能会有很多分叉)
  • 在他们的叉子中创建一个分支
  • 实施变革
  • 及时mainline/master了解在此期间发生的变化
  • 提交拉取请求fork/feature-branch->mainline/master

我们对这个工作流程非常满意;它在主线看到任何更改之前强制进行代码审查(嗯,至少是一个手动步骤,希望涉及实际阅读代码并运行其测试),这在历史上一直是一个问题。如果作者是查看拉取请求的人,我们想使用 GH Status API(博客文章API 文档)将合并按钮变为非绿色,但那是以后的事了。

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

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

我已经阅读了 TeamCity 7.1 的功能分支文档(博客文章发行说明文档),但我不知道如何将其应用于我们的任意数量的分叉模型,而不是每个人的提交 -到功能分支中的主线。

4

2 回答 2

6

您可以通过 teamcity 监控拉取请求:http: //blog.jetbrains.com/teamcity/2013/02/automatically-building-pull-requests-from-github-with-teamcity/

于 2014-03-06T10:58:49.480 回答
4

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

我将通过为每个开发人员的分叉存储库和主线存储库创建一个 vcs 根来解决这个问题。然后将这些根中的每一个附加到构建中。 文档

不幸的是,这是一个手动过程。每个开发人员,每个组件 repo 一次。如果我真的想自动执行此操作,我会结合使用Github Hooks通过 TeamCity REST Api 添加 vcs 根

于 2012-12-02T17:05:06.280 回答