2

标题应该说明一切,然后我可以在 Joel 测试中再巩固 2 个刻度。

我已经使用 makefile 和 python 脚本实现了构建自动化,并且我了解基础知识和选项。

但是,作为阅读博客的新人,我如何才能让我的团队相信它的内在功效呢?

4

9 回答 9

6

请求宽恕,而不是许可。

让它私下工作(看起来就像你拥有的那样),然后展示它的优势。

总能吸引人们的一件事是使用 CruiseControl 的 Tray 实用程序——当人们通过系统托盘看到构建成功时,他们会喜欢它。(这是假设您在 Windows 环境中,CruiseControl 将与您现有的系统等一起工作)

注意:如果请求宽恕而不是许可会导致立即终止,您可能不想执行上述操作。您可能还想在其他地方寻找工作。你的旅费可能会改变。

于 2008-09-17T22:15:18.960 回答
5

实现构建灯......我们用熔岩灯做了类似的事情,它是一个巨大的成功。为了获得额外的奖励分数,请给每个开发人员在他们的办公桌上亮起红灯,并在构建中断时亮起正确的灯。

于 2008-09-17T22:19:16.393 回答
3

拿起一台旧的备用电脑,把它放在办公室的角落里。设置它以构建您的项目。编写一个小脚本:

  1. 获取所有文件的最新版本。
  2. 如果有文件更改,构建
  3. 有故障时通知您。

当你休息时,富有同情心地把它修好。

考虑添加一个步骤来运行单元测试。

如果你能避免因为人们的错误而责骂他们,很快人们就会对你到达后构建的可靠性印象深刻。从那里建造。

诀窍是花很少的时间为您的团队创造很多价值,而不会惹恼任何人。

于 2008-09-17T22:17:10.657 回答
1

设置一个自动生成器。一旦你让它自动构建和运行测试,你说服其他人节省自己的时间就没有关系了:)

如果您使用 git 进行版本控制,这里有一个自动生成器,它会自动找到导致测试失败的确切签入:http: //github.com/apenwarr/gitbuilder/

于 2008-09-17T22:25:13.790 回答
1

我会拿一个备用的盒子,安装一个持续集成服务器( Java 世界中的HudsonCruiseControl),并设置一个工作,每次有人签入一些代码时构建你的应用程序。

您可以尝试说服您的同事,也可以等到有人破坏构建。在后一种情况下,只需发送以下电子邮件:

to: all developers

Guys,

I've just noticed that I can build our software using the 
latest version because of the following error:

    ...

I you want to be notified by our continuous 
build system (attached is the mail I received when
it failed to build our application), just let me know.

通常不需要那么长时间,直到每个人都在名单上

于 2008-09-19T20:58:31.023 回答
0

我会将自动构建设置为每晚的过程,这样它每天晚上都会抓取最新的代码修订版,构建它并生成报告。现在,您每天早上都会知道构建是否损坏,如果是,您可以通知团队。如果损坏的构建对您的项目来说是一个很大的问题,那么人们可能会首先开始找您了解同步到最新代码是否安全,因为您将是任何一天都倾向于知道是否或不是构建被破坏(顺便说一句,一套自动化的单元测试也有助于解决这个问题)。运气好的话,人们会开始意识到你的每晚构建是一件有用的事情,你可以将你的每日构建报告设置为一封发送出去的电子邮件。

于 2008-09-17T22:20:06.173 回答
0

James Shora 有两个很好的链接:

对于硬件 http://jamesshore.com/Blog/Continuous-Integration-on-a-Dollar-a-Day.html

对于“人类软件” http://jamesshore.com/Change-Diary/

(他如何做到这一点的历史。阅读很长,但改变组织更难)

于 2008-09-17T22:28:10.973 回答
0

当团队定期需要构建时,这很容易。您指定一名团队成员(定期轮换)进行构建。如果构建过程足够复杂,团队将自行提出一种至少部分自动化构建的方法。在最坏的情况下,您必须自己自动化构建,但没有人会反对自动化。

于 2008-09-18T14:57:31.017 回答
0

示范是最好的,也是唯一能改变任何拒绝以不同方式做事的人的想法的方法。

在这里,我们展示了自动化构建是多么有用,因为 QA 能够直接从构建服务器获取绿灯构建,并在没有开发人员任何指示的情况下安装和测试。他们能够继续工作,他们知道它至少通过了它的单元测试。它有助于集成测试和开发,减少系统中出现错误的时间。

于 2008-09-19T21:06:17.430 回答