我是新来构建自动化和持续集成,但已对此主题进行了广泛的研究。适用于Visual Studio的现代构建工具MSBuild
第一个问题:假设我有一个非托管的Visual C++ .sln文件,并且可以使用MsBuild构建它,我应该选择哪个现代构建工具,这使我可以轻松地执行构建前/构建步骤?
我不希望像Ant,Nant这样的“老”构建工具,使其XML混乱。我想要一些可以让我自由表达我想以人类可读的方式做什么的东西。根据我的研究,似乎Waf,Scons和Rake可能适合这项法案。
我的环境的背景: 我的源代码管理是Subversion。 我的单元测试框架是GoogleTest,它生成JUnit兼容的XML文件。 我为我的追踪工具选择了JIRA。 我选择了TeamCity作为我的CI服务器。 我使用Visual Build来构建我的.sln文件。
我希望能够(从我的CI服务器调用)编写一个简单的构建脚本,将:
1)创建一个CI服务器工作区目录。
2)查看SVN代码。 (我的回购站设置为使用svn:externals从我的其他存储库中提取依赖关系)
3)运行Visual Build构建文件以在.sln中构建所有项目/平台组合。
4)运行静态代码分析/动态代码分析工具
5)的MSBuild收集结果(编译是否失败,静态/动态代码分析警告或单元测试失败,等等),用于CI服务器
6)CI服务器日志这并且将它链接到JIRA。
使用MSBuild和C++项目确实是一团糟,因为.vcproj不是像.csproj这样的本机MSBuild格式,而是由MSBuild以特殊方式处理。 – mmmmmmmm 2009-04-16 20:20:23