2009-04-16 121 views
4

我是新来构建自动化和持续集成,但已对此主题进行了广泛的研究。适用于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。

+0

使用MSBuild和C++项目确实是一团糟,因为.vcproj不是像.csproj这样的本机MSBuild格式,而是由MSBuild以特殊方式处理。 – mmmmmmmm 2009-04-16 20:20:23

回答

4

随着编译代码,Visual Build可以用来拉动源代码并运行你的分析工具(并且有一个很好的GUI,可以让你隐藏任何“xml混乱”)。你的CI服务器应该有一个方法来集成外部日志进入构建。

3

只是为别人谁发现这个页面(就像我): 检查这些工具CI构建服务器: 脉冲 的TeamCity AnthillPro(此是非常的教授,但也需要学习很多) CruiseControl

脉冲和TeamCity可以建立与msbuild sln。还有很多不错的功能,我发现最好的(从10+)工具作为CI服务器。易于管理,很好的支持和良好的功能。

相关问题