持续集成(Continuous integration)

持续集成最佳实践
本文介绍持续集成的基本流程及最佳实践,包括维护代码库、自动编译与测试等关键步骤,强调频繁合并的重要性以避免合并冲突。

流程

当对代码进行变更,开发人员取得当前基础代码的一份拷贝。当其他开发人员提交变更的代码到代码库里时,这份拷贝将逐渐与版本库里的最新代码间产生差异。不仅现存的代码基础发生了变化,而且随着新的代码、库文件和其它资料的添加,其中的依赖和潜在的冲突也随之出现。

一个分支检出的时间越长,当开发分支重新整合到主线上的时候,整合的冲突和失败的风险就越大。在开发人员向代码库进行提交之前,他们必须更新代码来获得至取得代码副本以来版本库的变更。版本库里包含越多的变更,开发人员在提交代码之前做的工作就会越多。

最终,代码库与开发者的基线将产生巨大的差异,这种情况有时被称为“合并地狱”或者“整合地狱”,在这种情况下,合并所需要的时间将超过作出变更所花费的时间。持续集成要求尽早的合并并且经常合并,从而避开“整合地狱”陷阱。这样做的目的是减少重复工作从而达到节约时间和成本的目的。

在提交工作之前,其余的CI步骤为编程人员做一次完整的编译,跑过所有的单元测试。集成测试通常自动运行在CI服务器上在其侦测到一次提交后。

最佳实践

1 维护代码库

2 自动编译

3 自动测试

4 每天每一名开发人员都向基线提交

5 每次对基线的提交都应该被构建

6 保持编译的快速

7 在产品环境下进行测试

8 使得获取最新的提交更加容易

9 每个人都能看到最新的编译结果

10 自动部署

来源:https://en.wikipedia.org/wiki/Continuous_integration

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值