Kin*_*tor 99 agile continuous-integration build-process build-server
我没有为非常大的组织工作,我从来没有为一家拥有"构建服务器"的公司工作过.
他们的目的是什么?为什么开发人员不在本地计算机上构建项目,或者是他们?有些项目是否如此之大,以至于需要更强大的机器才能在合理的时间内构建它?
我看到构建服务器有用的唯一地方是与构建服务器持续集成,不断构建提交到存储库的内容.是不是我还没有做过足够大的项目?
有人,请赐教:构建服务器的目的是什么?
mkb*_*mkb 93
给出的理由实际上是一个巨大的好处.转向QA的构建应该只来自仅从存储库构建的系统.这种方式构建包是可重现和可追踪的.除了自己的测试之外,开发人员手动构建代码是危险的.太多的东西没有被检查,与其他人的变化等等过时的风险等.
Kel*_*nch 44
构建服务器很重要,原因有几个.
他们隔离了环境本地Code Monkey开发人员说"它在我的机器上编译",当它不能在你的机器上编译时.这可能意味着不同步签入,或者可能意味着缺少依赖库.Jar地狱并不像.dll地狱那么糟糕; 无论哪种方式,使用构建服务器是廉价的保险,您的构建不会神秘地失败或错误地打包错误的库.
他们专注于与构建相关的任务.这包括更新构建标记,创建任何分发包,运行自动化测试,创建和分发构建报告.自动化是关键.
他们协调(分布式)开发.标准情况是多个开发人员正在使用相同的代码库.版本控制系统是这种分布式开发的核心,但是根据工具的不同,开发人员可能不会相互交互很多代码.而不是强迫开发人员冒险构建错误或担心过度积极地合并代码,而是设计构建过程,其中自动构建可以看到适当的代码并以可预测的方式处理构建工件.这样,当开发人员提交有问题的东西时,比如不检查新的文件依赖关系,就可以快速通知他们.在分段区域中执行此操作,让您标记已构建的代码,以便开发人员不会提取会破坏其本地构建的代码.PVCS使用推广小组的想法很好地做到了这一点.Clearcase也可以使用标签来做,但需要比许多商店提供的更多的流程管理.
pet*_*hen 26
他们的目的是什么?
负载开发人员计算机,为构建提供稳定,可重现的环境.
为什么开发人员不在本地计算机上构建项目,或者是他们?
因为使用复杂的软件,只需"编译"就可以解决很多问题.我遇到的问题:
我们已经获得了惊人的稳定性增长,因为所有公开发布都是从源代码控制到一个空文件夹开始的.以前,有很多"有趣的问题","当乔给我一个新的DLL时,它就消失了".
有些项目是否如此之大,以至于需要更强大的机器才能在合理的时间内构建它?
什么是"合理的"?如果我在本地计算机上运行批量构建,那么有很多事情我不能做.而不是向开发人员付费以完成构建,而是付IT以购买真正的构建机器.
是不是我还没有做过足够大的项目?
尺寸肯定是一个因素,但不是唯一的因素.
构建服务器是Continuous Integration服务器的独特概念.存在CI服务器以在进行更改时构建项目.相比之下,存在构建服务器以在干净的环境中构建项目(通常是针对标记修订的发布).它确保没有开发人员破解,调整,未经批准的配置/工件版本或未提交的代码使其成为已发布的代码.
| 归档时间: |
|
| 查看次数: |
51133 次 |
| 最近记录: |