我正在开发Windows和Web项目。我们目前使用Visual Studio使用visual studio 2008构建我们的解决方案。
我想转向更强大的构建系统,例如Nant或MsBuild for asomate。
有什么方法和&我是怎么做到的?
我们使用Visual source safe& mercurial(hg)作为源控制 这一切如何与Source Control集成?
帮助我所有的方式.. 谢谢!
答案 0 :(得分:1)
上次检查时,NAnt没有正确支持VS2008项目文件。
我个人喜欢使用NAnt作为通用构建控制器,但委托MSBuild为核心“将代码构建到程序集”部分。例如,这在我Protocol Buffers中运行良好。
我不知道如何使用NAnt的VSS或Hg,但如果没有可用的适配器,我会感到非常惊讶。您需要将源代码控制与构建集成在一起,它是用于版本号,持续集成还是其他什么?您可能会发现,您正在使用的任何持续集成服务器本身都可以处理源控件方面,并且您的构建文件不需要知道它。
答案 1 :(得分:0)
这实际上取决于您想要自动化的方式以及方式。可以直接从MSBuild调用Visual Studio解决方案文件,因此只需在没有Visual Studio的情况下构建解决方案,就不需要做任何事情。
NAnt可以调用msbuild为您构建解决方案文件,因此您可以将解决方案构建包装在NAnt脚本中,并围绕它执行其他有用的操作。这就是我平常做事的方式。这样,您的构建脚本和解决方案文件保持同步。
NAnt从一开始就有VSS任务,因此检查代码是微不足道的。如果他们没有Mercurial任务,总会有exec任务允许你运行任何命令行程序(我假设Mercurial有一个)。
通常我有一个构建服务器,其中包含应用程序/解决方案的工作副本。然后,每晚,服务器调用一个NAnt脚本,将更新的工作副本更新到最新版本,并使用msbuild任务构建解决方案。然后你可以做各种漂亮的事情,比如创建拉链或者tars,甚至是安装程序。