我一直在探索在一些Nant构建脚本中运行集成测试的不同策略。通常,许多不同的脚本链接在一个单独的构建中,该构建具有单独的目标:分段(构建分段版本,如构建),构建(仅构建东西),集成(构建东西并运行集成测试)。这种方法运行得相当好,构建目标大约需要三分之一的时间来作为集成目标运行,并且它并不痛苦,所以我发现自己不愿意经常运行它。

另一方面,集成目标需要足够长的时间,以至于我不想经常这样做 - 理想情况是在我准备好部署之前。这看起来像是一个合理的策略吗?我,我做得对吗?

计划最终将此项目转移到持续集成。我是整个持续集成的新手,但我认为我理解“打破构建”的概念。所以我想知道为了充分利用它,需要采取哪些好的做法?

对此主题的任何良好阅读来源也将受到赞赏。谢谢!

有帮助吗?

解决方案

是的,你走在正确的轨道上。您现在需要做的是将您的nant目标连接到自动化流程。我建议使用Team City或Cruise Control作为CI工具。完成自动服务器设置后,您可以在每次签入时运行构建和单元测试(持续集成)。然后,您的集成测试可以在晚上或周末运行,因为它们通常需要更长的时间才能运行。如果您的集成测试成功,那么您可以拥有一个将部署到某个QA或其他服务器的作业。

其他提示

听起来你有99%的路在那里。我的建议是潜入并开始这样做。通过实际考虑并做到这一点,你会学到更多东西,而不是考虑你是否做得对。

我公司目前正在使用CruiseControl,我个人认为这很棒。

请参阅此相关主题什么是良好的CI构建过程?

你走在正确的轨道上。如果您正在使用一个不错的CI工具,您应该能够将每个设置设置为一个单独的项目,以触发链中的下一步...即成功构建触发测试,触发部署触发集成等

这样你最简单的“休息”可以说停止这条线。

我们使用CruiseControl构建,单元测试,配置和部署,运行集成测试和代码覆盖,运行验收测试以及发布包。这是一个包含大约8个Web服务和十几个数据库的系统,所有这些数据库都具有相互配置的配置和部署依赖关系,跨越多个具有不同配置的环境(从每个组件的单个框到redundent框的任何内容)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top