【问题标题】:Define an Automate Build process for a Windows Application which is using SVN as a Source Control为使用 SVN 作为源代码控制的 Windows 应用程序定义自动构建过程
【发布时间】:2010-10-25 13:02:11
【问题描述】:

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

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

现在,随着事情的压力越来越小,我们回顾过去,看看我们如何才能更好地管理并推进我们的合作并简化沟通。另一个事实是人们在两个不同的办公室工作。我们决定并实施了一个敏捷项目管理和协作 wiki 工具 - 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. 为每张票提供释放在这里不是一个好的解决方案。我希望你们对构建自动化有一个好的建议。我也用谷歌搜索并找到了CruiseControl.NET + Subversion + NAnt + MSBuild 的组合。能否请您指导我们如何为我们的 QA 构建自动化构建环境,以便他们可以轻松获取更新并自行构建,这样他们就无需再为最新版本打扰我们了。

谢谢。

【问题讨论】:

  • 你的项目有多大,有多大。建造需要多长时间?您是否有任何可以在每次构建时再次触发的测试套件?
  • +1 为了简单明了,并提出经常被忽略的明显问题!
  • @Version Control Buddy ...我们的解决方案是工业小型企业解决方案。从技术上讲,我们在解决方案文件下有 26 个 VB 项目,每个项目至少有 100 多个代码文件。
  • 在 SO 上有类似的问题可以回答您的问题。检查标题为 CI 的问题:Hudson with .Net vs CruiseControl.Net

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


【解决方案1】:

您能否指导我们如何为我们的 QA 构建自动化构建环境,以便他们可以轻松获取更新并自行构建,这样他们就无需再为最新版本打扰我们了。设置非常简单!!

我会推荐 Hudson CI,因为它具有出色的插件和易用性。 检查链接here。 您可以设置您的项目以构建以下方式:

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

  2. 一旦代码签入到 SVN 存储库。一旦你检查你的修复。项目自动检测 svn check in 并开始构建和部署。

  3. 设置构建和部署时间表(每天或每晚)

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

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

感谢社区开发的所有插件,有很多功能。

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

希望这会有所帮助。

【讨论】:

  • 不是为基于 java 的项目设计的吗?
  • 不,这不仅仅是基于 java 的。您也可以使用插件将其用于 c# 和 .net。它与 MSBuild 兼容。
猜你喜欢
  • 2010-09-27
  • 1970-01-01
  • 1970-01-01
  • 2020-01-04
  • 2020-01-04
  • 1970-01-01
  • 1970-01-01
  • 2016-04-01
  • 2012-07-06
相关资源
最近更新 更多