打开APP
未登录
开通VIP,畅享免费电子书等14项超值服
开通VIP
首页
好书
留言交流
下载APP
联系客服
持续集成:什么应该自动化?
yiherainbow
>《我的图书馆》
2007.11.20
关注
一、什么是持续集成(Continuous Integration)?
这个名词已经在软件开发领域持续了N年,一个比较简单的定义如下:
持续集成(CI)
是一种实践,可以让团队在持续的基础 上收到反馈并进行改进,不必等到开发周期后期才寻找和修复缺陷。
通俗一点儿说,就是指
对于开发人员的每一次代码提交,都自动地把Repository中所有代码Check out到一个空目录,并且自动运行所有Test Case。如果成功则接受这次提交,否则告诉所有人,这是一个失败的Revision。
更具体的解释可以参考
Martin fowler
的
Continuous Integration
。
二、持续集成的价值与成本
有句时髦的话,叫做“存在即为合理”。既然持续集成已经存在了这么长的时间,而且没有消失的迹象,那就是有价值的东西。那么它的价值何在?
有人概括如下
:(1) 减小风险;(2) 减少手动过程;(3) 生成构建结果;(4) 安全感。
而持续集成的成本在于对持续集成代码的维护成本和集成的时间成本。因为随着
项目
进行,软硬件环境会越来越复杂,成品代码也会不断膨胀。此时,需要团队而修改或增加原有的测试代码,以适应这些变化,同时,每次集成所需时间也会变长,这就是持续集成的成本。
某个blog中提道
:“这种集成是如此的频繁,多少次的代码Commit就有多少次持续集成。前提是集成的成本很低,或者说是完全自动化的。”
三、持续集成应该自动化什么呢?
我们要以尽可能少的成本来获得尽可能多的价值。这就要考虑哪些自动化是必要的啦。
Jez Humble提到至少有六点要做到自动化
,它们分别是(1)自动化的运行测试;(2) 自动产生可部署的二进制成品;(3) 自动将成品自动部署到近似生产环境;(4) 自动为CodeBase打上标签;(5) 自动运行回归测试;(6)自动生成度量
报告
。
四、持续集成服务器的选择
在进行持续集成实践前,应当正确的选择并配置持续集成服务器。比较成熟的持续集成服务器包括:CruiseControl, Anthill, Bamboo, TeamCity, Continuum 等。CruiseControl作为开源产品,以其对于各种SCM以及构建工具的广泛支持而被许多开发团队所接受。
而开发自动化
专家
Duvall 采用一致的
评估
标准和很多说明性示例,介绍了一些开源 CI 服务器,包括 Continuum、CruiseControl 和 Luntbuild。并指出“
要根据
自己的
具体技术和政策需求对工具进行分析
”
。并用以下五个指标来评估CI工具,它们分别是:(1) 特性;(2) 可靠性;(3) 寿命;(4) 目标环境;(5) 易用性。结果如下表:
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报
。
打开APP,阅读全文并永久保存
查看更多类似文章
猜你喜欢
类似文章
【热】
打开小程序,算一算2024你的财运
七牛李倩:工程效率如何为研发赋能---软件工程
让开发自动化: 选择持续集成服务器
2020 年,为什么非要采用 DevOps 文化不可?
重温大师经典:Martin Fowler的持续集成
如何在工作的前三年里快速成长
另类工具hudson/jenkins:持续集成CI知多少?
更多类似文章 >>
生活服务
热点新闻
留言交流
回顶部
联系我们
分享
收藏
点击这里,查看已保存的文章
导长图
关注
一键复制
下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!
联系客服
微信登录中...
请勿关闭此页面
先别划走!
送你5元优惠券,购买VIP限时立减!
5
元
优惠券
优惠券还有
10:00
过期
马上使用
×