我的开发团队为什么要有构建服务器?

时间:2010-03-02 19:37:36

标签: continuous-integration build-automation

我们知道这很好,但我觉得自己可以向我的雇主证明这一点。请参考开发团队需要构建服务器的原因。

8 个答案:

答案 0 :(得分:21)

使用构建服务器有多种原因。没有特别的顺序,也不在我的头顶:

  1. 您可以简化开发人员的工作流程并减少出错的可能性。您的构建服务器可以处理多个步骤,例如检查最新代码,安装所需的软件等。开发人员不可能在他们的机器上有一些可能导致构建通过或失败的似乎是随机的。 / p>

    您的构建服务器可以复制您的目标环境(操作系统等),并且在开发人员的桌面上工作的可能性较小,并且会破坏生产。

  2. 虽然开发人员测试他们检查的所有内容是一个很好的做法,但有时他们却没有。那么最好让那里的构建服务器捕获测试错误并让团队知道产品是否已损坏。

  3. 集中构建可以轻松访问代码指标 - 传递了哪些测试,哪些测试失败,频率,测试覆盖的代码程度如何等等。充分了解代码库的质量状态可以减少通过提供及时的反馈来维护和测试成本,从而可以快速,轻松地修复错误。

  4. 简化了产品部署 - 开发人员或QA不必记住多个手动步骤。它可以很容易地自动化。

  5. 简化了开发人员与QA之间的联系。质量检查人员可以到一个已知位置获取最新的,属性版本的版本。

  6. 很容易为发布分支机构设置构建,为发布阶段的产品提供额外的安全网,在进行代码更改时必须格外小心。

答案 1 :(得分:20)

要避免“但它在我的盒子上工作”问题。

拥有一致的,已知的环境,其中构建软件以避免依赖于本地开发盒。

如果需要,您可以使用虚拟服务器来避免(多)额外费用。

答案 2 :(得分:4)

尽快了解哪些单元测试目前正在运行,哪些单元测试没有;此外,你还会知道一次通过的单元测试是否开始失败。

答案 3 :(得分:3)

答案 4 :(得分:3)

这是一个连续的质量测试仪表板;它向您显示有关软件质量如何运作的统计信息,现在向您显示。 (JUnit,Cobertura)

它确保开发人员不会被其他破坏构建的开发人员所困扰,并鼓励开发人员编写更好的代码。 (FindBugs,PMD)

通过第一次从开发人员那里获得更好的代码 - 测试和重新测试的更少资金 - 以及从相同的开发人员那里获得更多代码,它可以节省您全年的时间和金钱,因为他们不太可能互相绊倒

答案 5 :(得分:3)

非技术人员可能涉及的两个主要原因:

  • 它提高了开发团队的工作效率,因为早期发现了问题。

  • 这使得项目的状态非常明显。我已经向管理层展示了构建状态仪表板,现在他们一直在查看它。

还有一件事。像Hudson这样的设置非常简单 - 您可能只想在拐角处的某个地方运行一段时间然后再显示它。

答案 6 :(得分:2)

这是我的主要论点:

  • 所有正式版本必须在受控环境中构建。没有例外。

只是因为你永远不知道开发者如何创建他们的个人版本。

您也不需要像“花费一条腿的刀片”那样谈论构建服务器。我设置的第一个构建服务器是一个桌面计算机,它在一个角落里被拔掉了。它已经为我们服务了3年多。

你有一台构建机器,你可以开始添加一些功能(Hudson很棒)并实现其他海报提到的所有功能。

一旦你的构建机器对你的组织变得不可或缺(并且每个人都看到它的好处),如果你愿意,你将能够要求一个闪亮的新刀片:-)

答案 7 :(得分:0)

你可以做的最简单的事情是说服你的雇主拥有一个构建服务器,告诉他们他们能够更快地发布并且更好的质量

更快的发布来自有关构建质量的即时反馈。如果有人破坏了构建,他或她可以立即修复损坏的构建,从而避免构建和发布计划的延迟。如果没有构建服务器,团队将不得不花时间尝试查找发生的事情和发生的时间以及如何解决它。

每次有人检查版本控制系统时,构建服务器都会自动运行错误检测工具,从而实现 更好的质量。您没有提到组织中的主要开发语言是什么,但这些工具虽然先进但商业化且简单但免费,实际上适用于所有语言。我想到了Lint,FxCop,FindBugs和PMD。

您也可以查看此presentation on benefits of continuous integration进行更广泛的讨论。