持续集成是一种软件开发实践,即团队开发成员经常集成它们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。
 
一些原则:
1. 所有的开发人员需要在本地机器上做本地构建,然后再提交的版本控制库中,从而确保他们的变更不会导致持续集成失败。
2. 开发人员每天至少向版本控制库中提交一次代码。
3. 开发人员每天至少需要从版本控制库中更新一次代码到本地机器。
4. 需要有专门的集成服务器来执行集成构建,每天要执行多次构建。
5. 每次构建都要100%通过。
6. 每次构建都可以生成可发布的产品。
7. 修复失败的构建是优先级最高的事情。

持续集成周期包括以下几个步骤:
1.持续集成服务器不断从版本控制服务器上检查代码状态,看代码是否有更新。
2.如果发现代码有最新的提交,那么就从版本控制服务器下载最新的代码。
3.等代码完全更新以后,调用自动化编译脚本,进行代码编译。
4.运行所有的自动化测试。
5.进行代码分析。
6.产生可执行的软件,能够提供给测试人员进行测试。

如果其中任何一个步骤失败,就表示该Build失败,持续集成服务器会给予相应的反馈。一般来说,持续集成服务器会有相应的管理界面,可以看到Build的状态以及相应的信息,如果Build失败,可以查看原因,是编译失败还是测试失败。或者在每次Build后,持续集成服务器发邮件通知,从邮件中可以看到最新Build的状态。当然,也可以自定义反馈方法,比如在ThoughtWorks中国,有个团队的持续集成反馈就是火山灯,×××表示正在进行Build,绿色表示Build成功,而红色则表示Build失败,一旦发现灯变红了,所有人都不能提交代码,而应该尽快修复该Build。还有一个团队更有创意,用语音来进行反馈。如果Build成功,就会有语言提示说“Build XXXX成功”,如果失败,就会有提示“Build XXXX失败,是由XXX提交的”,被念到名字的成员就得停下来修复这个Build。
  持续集成实践的目的不是减少Build失败的次数,而是尽早发现问题,在最短的时间内解决问题,减少风险和浪费。如果想尝试持续集成,首先需要的是持续集成服务器,比如CruiseControl或者VSTS;然后需要把现有的Build自动化,比如写Ant脚本;最后就是在持续集成服务器上进行配置,比如配置版本控制,集成间隔时间,如何部署,如何反馈等。

本文出自:http://xp9802.iteye.com/blog/1217971   ,转载时请务必保留此出处

转载于:https://blog.51cto.com/jobscn/730602

关于持续集成几点知识点相关推荐

  1. 持续集成学习笔记-入门篇(1)持续集成基本概念

    今年7月份中下旬,笔者见过一个号称"资深开发者"的哥们(据说编程有十来年了),笔者问他:"你们平时用的持续集成工具都有哪些?"这哥们回答:"那些都是骗 ...

  2. java持续集成soapui_集成testNG到JavaAPI测试-执行多条用例

    ***************************************************************** 在这门课里你将学到Web Services(SOAP WebServ ...

  3. 从零入门 Serverless | 教你 7 步快速构建 GitLab 持续集成环境

    作者 | 存诚 阿里云弹性计算团队 本文整理自<Serverless 技术公开课>,"Serverless"公众号后台回复"入门",即可获取系列文章 ...

  4. 基于 abapGit 和 abaplint 的 ABAP 持续集成的一个例子

    这是 Jerry 2021 年的第 61 篇文章,也是汪子熙公众号总共第 338 篇原创文章. 短歌行 曹操 对酒当歌,人生几何! 譬如朝露,去日苦多. 慨当以慷,忧思难忘. 何以解忧?唯有杜康. 青 ...

  5. 教你 7 步快速构建 GitLab 持续集成环境

    作者 | 存诚 阿里云弹性计算团队 来源 | Serverless 公众号,整理自<Serverless 技术公开课> 导读:本节课程为您介绍如何基于阿里云 Serverless Kube ...

  6. 一文教你分清持续集成,持续交付,持续部署!

    1.持续集成 首先是 WiKi 给出的定义: continuous integration (CI) is the practice of merging all developer working ...

  7. 基于持续集成的轻量级接口自动化测试

    1. 前言 Jenkins+Ant+Jmeter这一套自动化性能测试框架,分享给大家,给大家做一点参考. 2. 摘要 无论是互联网还是金融行业的产品都必须依赖大量的后台接口提供的服务,后台接口稳定与性 ...

  8. 基于持续集成的轻量级接口自动化测试 【持续更新...】

    1. 前言 Jenkins+Ant+Jmeter这一套自动化性能测试框架,最近有不少测试的朋友问,这篇文章是由我们原测试团队共同编写的,由于我们后期采购了第三方的自动化测试平台,此套框架已经不在使用了 ...

  9. CentOS8.1部署Gitlab+Jenkins持续集成(CI/CD)环境之Jenkins安装(二)

    大家好,我是SuieKa,本博文以学习笔记为主,此时此刻我已按捺不住自己的心情将学习搬运到博客上 上手之前,习惯性的多逼逼知识点,尽管各路大神都已经了如指掌了哈哈哈 目录 什么是Jenkins? 安装 ...

最新文章

  1. python与php8-php8的扩展arginfo生成工具及工具初体验
  2. python顺序结构实验_Python程序设计实验报告二:顺序结构程序设计(验证性实验)...
  3. Unity URP高度雾效果Shader
  4. farcry5服务器不稳定,孤岛惊魂5玩起来很卡怎么办 远哭5游戏卡顿解决办法
  5. ENVI5.3 FLAASH大气校正报错
  6. CDN 技术研究——Cache集群通信
  7. ICP备案不等于ICP许可证
  8. 函数的使用:两个数取最小值
  9. 【装修大营救】装修失误郁闷到要吐血、追悔莫及:水电改、刷墙、橱柜
  10. scum官方服务器维护时间,在等公测的这段时间里聊聊最近很火的scum吧
  11. 【附PPT下载】2021腾讯广告算法大赛 ACM MM Grand Challenge录用论文揭晓
  12. 微软工业计算机主机怎么样,炸裂!设计师们,微软喊你们换电脑了
  13. android6.0.1隐藏功能,安卓6.0系统界面调谐器怎么使用?安卓6.0隐藏功能开启和使用方法[多图]...
  14. fluxbox_使用Fluxbox Linux桌面作为窗口管理器
  15. ecshop 数据库调试技巧 【强烈推荐】
  16. Facebook Surround 360 环境配置指南(3D立体全景)
  17. php下载图片excel过大,PHPExcel导出图片大小设置问题
  18. DEBUG 使用RELEASE文件的 DLL
  19. 时间管理(Time Management)
  20. 6.面向对象,构造器,递归以及对象创建时内存分析(内含代码与练习)

热门文章

  1. 浅析比特币的找零机制
  2. WIN2008系统的IIS7.0配置REWRITE伪静态环境
  3. 不用asp.net MVC,用WebForm照样可以实现MVC(请看最后一句话)
  4. Mysql5.6主从复制-基于binlog
  5. c#:使用using关键字自动释放资源未必一定就会有明显好处
  6. Revit二次开发之“取得所选元素的族名称”
  7. Effective user and Real user
  8. tradingview Vue
  9. 26期20180607 set_uid stick_bit 软硬连接
  10. AJAX 实现form表单提交