天天看点

linux学习:持续集成篇--简介-01

1、持续集成介绍

 持续集成是一种软件开发实践

   团队开发成员经常集成他们的工作,每次集成都通过自动化构建(包括自动化编译、测试、发布)来验证,从而尽快的发现集成错误

 持续集成的价值、要素、原则

   原则

    1. 所有的开发人员需要在本地机器上做本地构建,然后再提交的版本控制库中,从而确保他们的变更不会导致持续集成失败。

    2. 开发人员每天至少向版本控制库中提交一次代码。

    3. 开发人员每天至少需要从版本控制库中更新一次代码到本地机器。

    4. 需要有专门的集成服务器来执行集成构建,每天要执行多次构建。

    5. 每次构建都要100%通过。

    6. 每次构建都可以生成可发布的产品。

    7. 修复失败的构建是优先级最高的事情。

    8. 测试是未来,未来是测试

       价值:减少风险、减少重复过程、增强项目的可见性、建立团队对开发产品的信心

       要素

    1.统一的代码库

    2.自动构建

    3.自动测试

    4.每个人每天都要向代码库主干提交代码

    5.每次代码递交后都会在持续集成服务器上触发一次构建

    6.保证快速构建

    7.模拟生产环境的自动测试

    8.每个人都可以很容易的获取最新可执行的应用程序

    9.每个人都清楚正在发生的状况

    10.自动化的部署

2、持续集成管理平台的组成

  持续集成管理平台不只是CI服务器,是一系列软件开发管理工具的组合

 源码版本管理:Subversion、Git

 项目构建工具:Maven、Ant

 代码质量管理:Sonar(Checkstyle、PMD、FindBugs....)

 持续集成引擎:Hudson、Jenkins、Apache Continuum

 应用持续部署:操作系统、JDK、Tomcat、JBoss...

 实施持续集成过程中要用到的其它各种工具、各种插件..

3、实践说明与内容

  这里采用的是Hudson + Maven + Sonar + Subversion

  a、Subversion源码版本控制系统的安装

    Subversion + Apache + jsvnadmin

  b、Maven私有库和本地库的安装与配置

    Sonatype Nexus + Maven

  c、Sonar代码质量管控平台的安装与使用配置

  d、Hudson持续集成引擎的安装与配置

本文转自我爱大金子博客51CTO博客,原文链接http://blog.51cto.com/1754966750/1907893如需转载请自行联系原作者

我爱大金子