Windows上简单的构建过程自动化

时间:2010-01-29 14:36:16

标签: windows build-process

我不是像Ant这样的工具的忠实粉丝,但它们确实很有用。在当前的C ++项目中,我根本没有自动构建过程 - 我只是使用Visual Studio构建我的工作目录,压缩/ bin文件夹并将其发送出去进行安装。该项目足够小,这确实可以正常工作,但它完全依赖于我了解内部项目。

我想要一个可以执行以下步骤的系统:

  • 将多个SVN工作目录更新为指定版本(或默认为Head)
  • 运行doxygen(或类似工具)以获取最新的API文档
  • 将API文档提交给某些SVN repo
  • 按正确的顺序构建多个项目
  • 复制一些东西,删除不需要的文件
  • 将文件/文件夹打包到基于用户指定版本命名的zip /文件夹中,或从文件/ SVN中找到

免费很重要。易于使用是另一个。 Windows是必不可少的,而且不包括cygwin选项。

我已经想到你可以使用.bat文件做到这一点,这对于一个仍然很小的项目(1-4个开发人员)来说是一个可行的选择吗?

7 个答案:

答案 0 :(得分:4)

Hudson非常易于设置,安装和运行,并且在Windows环境中运行没有问题。您不必将它用于持续集成,只有当您告诉它时,它才会愉快地进行构建。

Hudson本身支持执行Windows批处理脚本,并且很乐意通过插件工作NANT或cmake。如果还没有你想要做的事情的插件,你可以很容易地完成它,如果它通常可以从命令行完成。

请注意:Hudson项目已重命名为Jenkins

答案 1 :(得分:3)

cmake是目前任何操作系统的首选工具。没有别的了。您必须键入代码的高级描述,cmake将为所有unices或cygwin生成VS解决方案/项目和makefile。

NSIS:大量的开源/闭源项目使用NSIS为Windows创建安装程序 - 这不错,而且可以从命令行轻松运行构建器 - 因此您可以将它与cmake集成

答案 2 :(得分:2)

如果您仍然使用Visual Studio(仅限),则可以在批处理模式下使用其内置构建过程(在cmd中键入devenv /?)。这足以构建您的C ++项目,并将解决所有C ++依赖项,这是最难的部分。

您可以通过批处理脚本轻松执行的其他操作。

另请阅读这2篇文章:

http://gamesfromwithin.com/the-quest-for-the-perfect-build-system

http://gamesfromwithin.com/the-quest-for-the-perfect-build-system-part-2

答案 3 :(得分:1)

我会推荐CMake:

http://www.cmake.org/

如果您习惯于基于依赖的构建系统,那么这是一个非常标准的构建系统。

如果你更具实验性(并且喜欢红宝石编码),Rake是很好的选择:

http://rake.rubyforge.org/

Martin Fowler在这里对该工具进行了很好的介绍:http://martinfowler.com/articles/rake.html

答案 4 :(得分:1)

如果你有备用的盒子我建议Nant和[CruiseControl.net]。您不必将其用于持续集成,您可以将构建设置为仅在强制运行时运行。两者都是开源的,具有对SVN的原生支持,并且相当容易使用。我用过Nant&除了doxygen任务之外,你列出的每件东西都有CruiseControl.Net。即使没有备用盒子,我也建议使用Nant来自动完成一系列手动任务。

答案 5 :(得分:1)

Visual Studio仍然附带Nmake的副本,这是一个经典的依赖构建规则工具。我可以使用devenv构建您的Visual Studio项目,还可以执行许多其他操作。您可以使用命令行执行任何操作,您可以使用nmake。它有一个非常好的宏语言。

答案 6 :(得分:1)

使用http://www.finalbuilder.com作为您的构建服务器,简单,用户友好,最重要的是,没有XML黑客攻击!