我们有一个 TeamCity 7.1 安装,它从 GitHub 存储库构建所有分支。
GitHub 有一个返回到 TeamCity 的通知挂钩,以在签入时触发构建。我们还让 TeamCity 每 120 秒轮询一次 GitHub 以检查更改(以防在签入更改时服务器处于脱机状态)。
我们正常的发展遵循一个共同的模式:
- 从 master 创建一个分支
- 提交到该分支,直到完成一个功能
- 完成后,从 master 拉取以合并任何更改并推送到远程
- 提交 GitHub 拉取请求以允许管理员合并到 master
一切都很顺利(经过大量搜索以获得正确的配置设置)但是......
上述过程触发了 TeamCity 上的几个构建,我想知道它们是否都是必要的。通常我们会得到:
- /refs/heads/分支名称的构建
- /refs/pull/ number /head的构建
- /refs/pull/ number /merge的构建
自然,第一个构建是特定分支的最后一次签入,第二个构建是拉取请求,但第三个构建是为了什么?