TeamCity Visual Studio插件与Git

问题描述:

我们希望使用TeamCity实现CI。TeamCity Visual Studio插件与Git

我们使用Git进行源代码控制,并希望使用TeamCity的“预先测试的提交”或“个人构建”功能。

有没有人有过用于Teamcity的VS插件的经验?

据我所见,它只支持Subversion,没有关于Git的消息。

任何人使用此设置任何成功?

正如JoergMPre-tested “Commits” using Git解释,你可以模拟类似TeamCity6.x“个人基础上的分支”的解决方案,通过使用个人回购:

JoergM's setup for personnal repo

有一个只包含预测试更改的*Git存储库。我称之为“绿色存储库”,因为它应该只包含导致绿色构建的变化。
每个开发人员都从该存储库中提取,但没有人被允许推送到该存储库。

相反,每个人都有一个个人存储库(如果你在GitHub上,请考虑fork)。 CI服务器监视这些个人存储库。提交后,它开始编译和测试。如果成功,它会将更改推送到绿色存储库。

JoergM补充说:

的问题是,是否我们将继续利用我们自己的解决方案或切换到TeamCity的新功能。
到目前为止,我看不到任何Teamcity功能的优势。
使用我们的解决方案,我们在分支设计方面更加灵活。

这种设置类似于我在“What is the cleverest use of source repository that you have ever seen?”中描述的设置。

+0

伟大的东西,谢谢队友。 –

+0

阅读此内容会产生两个问题:自动推送会发生什么情况?这是如何直接反映到VS?与插件不同,这不提供任何VS或IDE集成。 –

+0

@liortal:我看到的一般情况是,在失败的情况下,通知用户的电子邮件以及在个人存储库中丢弃的提交(在解决问题后再次推送它们)。但是你是对的,没有与TC或VS-addin直接集成(Visual Studio Addin:http://confluence.jetbrains.net/display/TCD65/Visual + Studio + Addin)。 – VonC

TeamCity 6.5具有新功能:远程运行在分支上。它适用于Git和Mercurial,并且不需要IDE,请参阅更多:http://confluence.jetbrains.net/display/TCD65/Branch+Remote+Run+Trigger

+0

什么是远程运行?它与登记时的常见触发方式有何不同? –

+0

在TeamCity中实际上有两个术语,“远程”运行和“预测试提交”。如果您的个人构建没有提交选项,那么这是一个“远程运行”。否则,这是一个“预先测试的提交”。在TeamCity 6.5中添加了“在分支上远程运行”功能。现在,您可以告诉TeamCity服务器观察名称与特定模式匹配的Git/Mercurial分支中的更改。一旦TeamCity在这样的分支中检测到提交,它将代表提交作者触发个人构建。 –

+0

谢谢。这种功能有什么用途?我的意思是,这听起来与检查时通常的触发器非常相似(除了它在不同的分支上监听VCS根页面上指定的分支之外)。 –

请注意,在TeamCity 7.1中,对Git分支的支持已得到相当大的提高。在我看来,这比个人构建功能要好得多。

相关文档可在这里找到:http://confluence.jetbrains.net/display/TCD7/Working+with+Feature+Branches