When there is commit on git, I am want to initiate a build on that particular branch automatically.
答案 0 :(得分:0)
有两种处理提交的方法 - 从Git服务器端和客户端。 如果要立即处理提交,则需要使用GitHook。这是您的代码,由Git服务器在特殊事件上执行(例如提交)。 那是从“服务器端”处理。 缺点是你增加了构建队列的大小,这对于你有一个活跃的开发和大团队来说是至关重要的。
从客户端(包括TeamCity和Jenkins),除了轮询服务器以进行更改之外,您没有其他选择。 缺点是你没有立即响应,但这是一个相对的缺点(你真的不需要每秒都能完成更改)。 优点是你不会增加Git服务器的负载。
这是与CI系统无关的自然平衡。 Jenkins和TeamCity的工作方式相同。
使用CI系统在每次提交后立即开始构建意味着经常轮询。 这是非常糟糕的,因为VCS(Git)上的负载非常大。 相反应该使用GitHook。 这是对你问题的直接回答。