为使用SVN作为源控件的Windows应用程序定义自动构建过程

时间:2010-10-25 13:02:12

标签: svn msbuild cruisecontrol.net build-automation nant

我需要你们的帮助。让我先解释一下我们在做什么,

我们正在开发一个Windows应用程序,我们所有人都与Team Foundation Server集成在一起。我们完成了所有应用程序功能,因此我们正在处理的是QA报告的缺陷列表。 QAMercury QC列出所有问题,我们会在其中列出优先顺序并分配给我们的团队。在周末,我们会在本周更新Mercury QC标记所有已解决的问题FIXED,并为他们提供一个版本,该版本只是我们bin\Debug文件夹的副本。

现在,随着压力越来越小,我们回头看看,我们怎样才能获得更多的管理,推动我们的合作,简化沟通。还有一个事实是人们在两个不同的办公室工作。我们决定并实施了一个敏捷的项目管理和协作维基工具 - Assembla。它为每个项目和单独的SVN提供单独的空间。从TFS迁移到SVN,我们使用TortoiseSVN用于SVN客户端,VisualSVN用于从Visual Studio操作SVN。 Assembla提供了一个票务系统,可以有效监控QA下降Mercury QC并开始针对他们发现的每个错误生成新票证。当他们开始生成票证时,我们会修复它们并在SVN中更新。 NOW THEY NEED TO REVIEW THE FIX AND CLOSE THE TICKET. 针对每张票提供发布不是一个好的解决方案。我希望你们一定要对Build Automation有一个很好的建议。我也用Google搜索并找到了CruiseControl.NET + Subversion + NAnt + MSBuild的组合。您能否指导我们如何为我们的QA制作Build Automation环境,以便他们可以轻松获取更新并自行构建,以便他们不再需要为最新版本而烦恼。

感谢。

1 个答案:

答案 0 :(得分:1)

  

您能否指导我们如何为我们的QA制作Build Automation环境,以便他们可以轻松获取更新并自行构建,以便他们不再需要为最新版本而烦恼。它很容易设置!!

我建议使用Hudson CI,因为它具有惊人的插件和易用性。 检查链接here。 您可以设置项目以构建以下方式:

  1. 只需单击按钮即可获得单独的环境,即按需构建。您的QA团队只需单击一个按钮即可为他们构建和部署项目。

  2. 将代码签入SVN存储库后。一旦你签入修复程序。该项目会自动检测svn签入并开始构建和部署。

  3. 设置构建和部署计划(每日或每晚)

  4. 您可以进行远程构建,因此非常适合分布式团队。

  5. 完成构建后,可以发送电子邮件通知。

  6. 由于社区开发的所有插件,有很多功能。

    就分支结构而言。我认为最佳实践只是分支一次发布。发现的所有错误都应该修复并签入分支。此外,在短时间之后,分支机构可以与主干合并。这样做的好处是什么?由于高优先级的发布错误,正在进行的开发工作不会受到影响。

    希望这有帮助。