2009-02-01 105 views
4

简单的问题。我使用Visual Studio,并且我刚刚安装了Subversion,我如何强制使用msbuild构建项目,并且如果成功构建提交,则会警告用户。我会使用TortoiseSVN或VisualSVN或AnkhSVN(无论它叫什么),如果他们有能力强制构建内置提交(我知道这不是它们的用法,我知道它们只是用于提交给SVN的GUI)我想知道这些工具是否可以用来做这些额外的事情。建立在颠覆提交

总结我只是在提交subversion之前寻找一种无痛的方式来构建。

+0

很酷的想法和解决方案爽:) – Leonidas 2009-02-01 15:02:10

回答

6

看看TeamCity的"pre-tested commit" a.k.a "delayed commit" a.k.a "private build" feature

简而言之,您向TeamCity“提交”,TeamCity会验证您的构建并仅在构建通过时提交给真实存储库。如果没有,你会被告知。这里的优点是你的箱子是永不破损。你可以去这里阅读更多关于它https://confluence.jetbrains.com/display/TCDL/Pre-Tested+(Delayed)+Commit

+0

+1,团队市是伟大的! – CMS 2009-02-01 16:50:15

4

TortoiseSVN有client-side hook scripts你可以使用。例如,您可以编写一个脚本来执行构建,并且只有在构建成功时才返回true。然后将该脚本添加为预提交钩子。

4

您也可以使用CruiseControl,Hudson或其他持续集成工具。

这些可以在后台运行,观察变化,然后构建。

2

Stefan建议的方法似乎可能是最适合你的方法。

然而,取决于你试图获得什么的替代方案,可能是使用某种自动持续集成来运行,因此每次提交时都会运行构建/测试,然后如果出现问题,可能会引发警惕或其他。 由于您使用Visual Studio猜测您使用.NET所以CruiseControl可能值得一看。

1

我认为this可能适合你,因为你使用SVN。

在你所要求的所有内容都像mausch建议的CI服务器。在这种情况下,TeamCity适合这个法案。

但也许你并不需要CI服务器附带的所有铃声和哨声。那么SIN可能会为你工作。如果你有时间,请检查它out