Fork me on GitHub

Jenkins之持续集成概念

前言

了解Jenkins之前,需要了解几个基本概念持续集成就是重要概念之一.

持续集成概念

什么是持续集成?

随着软件开发复杂度的不断提高,团队开发成员间如何更好的协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。尤其是近年来敏捷开发在软件领域越来越火,如何能在不间断变化的需求中快熟适应和保证软件的质量显得尤其的重要.持续集成正式针对这一类问题的一种软件开发实践。它倡导团队开发成员必须经常集成他们的工作,甚至每天都可能发生多次集成。而每次的集成都是通过自动化的构建来验证,包括自动编译、发布和测试,从而尽快的发现集成错误,让团队能更快的开发内聚的软件。

持续集成的核心价值

1、持续集成中的任何一个环节都是自动完成的,无需太多人工干预,有利于减少重复过程以节省时间、费用和工作量;
2、持续集成保障每个时间点上团队成员提交的代码是能成功集成的。换言之,任何时间点都能第一时间发现软件的集成问题,使任意时间发布可部署软件成为可能;
3、持续集成还能利于软件本身的发展趋势,这点在需求不明确或是频繁性变更的情景中尤其重要,持续集成的质量能够帮助团队进行有效决策,同时提升团队对开发产品的信心。

VS

1、项目做模块集成的时候,发现很多接口不通—浪费大量时间
2、需要人手动去编译打包最新的代码—构建过程不透明
3、发布代码,上线,基本上靠手—脚本乱飞

持续集成的原则

业界普遍认同的持续集成的原则包括:
1、需要版本控制软件保障团队成员提交的代码不会导致集成失败。常用的版本控制软件有cvs,subversion,git,sourcesafe等;
2、开发人员须及时向版本控制库中提交代码,也需经常性的从版本控制库中更新代码到本地;
3、需要有专门的集成服务器来执行集成构建。根据项目的具体实际,集成构建可以被软件的修改来直接触发,也可以定时启动,如每半小时构建一次;
4、必须保证构建的成功。如果构建失败,修复构建过程中的错误是优先级最高的工作。一旦修复,需手动启动一次构建。

持续集成的组成

一个完整的构建系统必须包括:
1、一个自动构建过程,包括自动编译、分发、部署和测试等。
2、一个代码库,即需要版本控制软件来保障代码的可维护性,同时作为构建过程的素材库。
3、一个持续集成服务器。即将介绍的jenkins就是一个配置简单和使用方便的持续集成服务器。

持续集成最佳实践

1、维护一个单一的代码库
2、使构建自动化
3、执行测试是构建的一部分
4、集成日志及历史记录
5、使用统一的依赖包管理库
6、每天至少集成一次

参考资料

1、微服务化的基石——持续集成

======================================================
希望各位朋友支持一下

本文作者:dongsheng
本文地址https://mds1455975151.github.io/archives/bb3df754.html
版权声明:转载请注明出处!

坚持技术分享,您的支持将鼓励我继续创作!