持续集成之旅(一)基本概念及流程

近年来软件开发业界掀起了一股敏捷(Agile)开发的热潮,为大家所熟悉的XP,SCRUM等敏捷方法,以及大量的敏捷实践像结对编程,TDD,持续集成被大量的开发团队所采用。作为敏捷开发十二大实践之一,持续集成起初被采用XP开发者所推崇。
 

首先什么是持续集成呢?
从技术上来说,持续集成就是要求开发人员频繁地签入他们的所完成的工作,这个频率通常是至少每天一次,有时候可以多次。每次集成还要验证新签入的变化不会造成新的问题。如果在集成的过程中出现异常,则快速的反馈给相关的开发人员。
 

什么是一次构建(Build)?
很多开发人员觉得构建就是简单地一次debug或者是release;这是比较狭义的定义,其实一次构建不仅仅是一次编译,它可能包括编译、测试、代码审查和部署以及其他相关的事情。它的目的就是验证新签入的代码能正常运行。
 

什么是版本控制库?
提供单一源代码以及其他软件资产的位置,能让开发者以及项目相关人员能够按时间回溯到制定的版本,比如,这次集成失败,我们可以找到上次集成成功的版本。我们常用的版本控制软件有VSS,SVN,CVS等等。
关于版本控制软件,请查阅:http://baike.baidu.com/view/2942399.htm
 

持续集成常用的流程
如下图所示:
 

 

1,开发人员经过本地测试后,向版本控制库提交变更代码,而CI服务器正不断的轮询检查版本控制库中是否有变更。


2,当开发人员提交代码后,CI服务器检查到代码控制库中发生了变更,则会从代码控制库中获取最新的代码,执行之前预定义的构建脚本。

如编译源代码、集成数据库、执行单元测试、代码审查等等,系统自动执行这一些脚本进行构建。


3,当CI服务器构建完成,不管是成功与否,都会使用反馈机制,将构建结果用邮件的形式反馈给制定的开发人员。比如,如果构建失败则通知相关开发人员,这样开发人员就能及时得到构建结果,以便于开发者及时发现构建失败原因。

上述就是常用的构建流程。
至于用什么样的CI服务器,以及他们是怎么样执行集成构建脚本的,将在接下来的文章中学习

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值