免费的Visual Studio构建自动化解决方案

5
我正在寻找一种构建自动化解决方案,用于处理包含多个混合源类型(主要是Win32 C++和C#)的Visual Studio解决方案空间。同时,所有代码都存储在Subversion版本库中。因此,需要从拉取代码的工作副本开始,编译源代码,并生成安装文件。
以下为要求:
必要条件:
- 免费 - 易于使用的GUI(我已经可以写一些NMake脚本...这就是我不想做的) - Subversion集成(至少能够获取最新代码) - 多种源语言支持(最终还是由VS构建) - 端到端自动化(一键构建) - 构建配置文件(例如中间文件与发布文件)
我希望拥有的功能:
- 查找和替换源文件(自动递增标头文件中的版本信息) - 邮件报告 - Subversion提交后自动构建 - Web界面 - FTP集成 - 能够自动生成带有正确版本字符串的构建文件名
不需要的功能:
- 单元测试支持 - Bug跟踪集成

这是商业软件还是免费软件? - Andrew Cox
这是用于构建商业软件的。 - Adam Haile
2个回答

3
你考虑过使用MSBuild吗?它是.NET框架免费提供的。
这需要少量编码。例如,您需要创建一个新的.net类(派生自Task),覆盖Execute函数,然后调用SVN来更新源代码。但大部分设置都在build.xml文件中完成,您可以在其中指定解决方案文件名和不同的配置。
这里有一个合理的介绍: MSBuild 我理解您为什么想通过GUI来完成这个任务,但在我看来,使用MSBuild获得的灵活性值得额外的设置工作,而且不像完全从头开始使用其他脚本语言编写那样复杂。

1
那个支持构建非.NET语言吗? - Adam Haile
如果您创建另一个构建任务(同样是从Task派生的类并重写Execute方法),您可以调用该语言的编译器。我们在产品的某些部分中这样做,这些部分不是.NET,还用于构建非.NET安装包。 - John Sibly
1
在创建自己的MSBuild任务之前,我建议先搜索网络。例如,您可能需要的大多数SVN任务都是MSBuild社区任务的一部分,位于此处:http://msbuildtasks.tigris.org/ - Pedro

3

NAntCruiseControl.Net可以完成所有这些,但它没有用于创建构建脚本的GUI。它有的GUI是一个Web前端,允许您监视/强制构建,以及一个执行相同操作的系统托盘应用程序。如果GUI创建脚本是一个非常重要的要求,那么final builder是您最好的选择之一,但它需要花费你一些钱。我认为在这个领域你不可能免费得到GUI。


ccnet的Web仪表板可用作非常简单的GUI;您可以从那里强制构建,查看进度(使用适当的插件)并查看构建结果。 问候,Sebastiaan - Sebastiaan M

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接