.NET / SVN:使用预提交钩子构建项目

时间:2010-11-03 00:13:01

标签: .net svn cruisecontrol.net

新手问题:

如果我在C#中编写预提交挂钩,是否可以构建我的项目(使用BuildEngine等)?我想要做的是,在我的开发服务器上提交时构建项目,并在构建成功时接受事务。它甚至可能吗?如果是这样,一些提示将受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

我认为这是: - 难做 - 尴尬

<强> 1。很难做到 您的cc .net项目链接到源控制服务器(此处为svn)。如果你想在precommit钩子中强制执行ccnet项目(你可以通过调用ccnet.exe -c configfile.config -p "Project Name"来执行),你将需要获得你想要构建的源代码,在你的情况下,这些不是最后的。一种解决方案可能是提交分支,然后创建一个cc .net项目,该项目在成功构建时将分支合并到主干中。

<强> 2。别扭
源代码控制存储库始终是代码引用,您提交的内容必须经过测试和更正。 CI用于检查存储库的完整性,进行额外的测试和自动部署。因此,可能存在破坏构建的提交但它们必须是异常,验证预提交中的构建是否过度。

这就是为什么我建议您不要使用CI工具进行挂钩,并且使用一个“正常”来测试您的构建(您的构建不会经常被破坏,但功能测试可能是错误的)