linux学习:持续集成篇--简介-01-阿里云开发者社区

开发者社区> 开发与运维> 正文

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...

 

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

    wKiom1jM3Sjghxb6AACr6xiJra4078.png

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如需转载请自行联系原作者


我爱大金子

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章