敏捷软件开发从提出到现在有16年了,经过16年的考验和沉淀,有些实践也许已经不再使用,或者仍然存在争议,而持续集成这个实践愈发显示出其突出的位置,可以预见其将成为新一代软件工程的标准配置。

持续集成最典型场景

在代码提交后5分钟之内,代码被编译并测试通过,程序员进入到后续工作,或者代码被编译并测试不通过,程序员在约定的15分钟内修复了,持续集成通过,程序员转入后续工作;或者15分钟没有修复,回滚到上个持续集成通过版本,程序员在自己本地环境修复,修复后再提交。

在持续交付一书中,总结了如下相关内容

持续集成的前提条件

  1. 频繁提交
  2. 创建全面的自动化测试套件
  3. 保持较短的构建和测试
  4. 管理开发工作区

持续集成中必不可少的实践

  1. 构建失败后不要提交新代码
  2. 提交前本地运行所以的提交测试
  3. 等提交测试通过后再继续工作
  4. 回家之前,构建必须处于成功状态
  5. 时刻准备着回滚到前一个版本
  6. 在回滚之前要规定一个修复时间
  7. 不要将失败的测试注释掉
  8. 为自己导致的问题负责
  9. 测试驱动的开发

持续集成中推荐的实践

  1. 极限编程开发实践
  2. 若违背架构原则,就让构建失败
  3. 若测试运行变慢,就让构建失败
  4. 若有编译警告或代码风格问题,就让测试失败

新一代软件工程的标配:持续集成相关推荐

  1. 持续集成(一)为什么我们迫切需要持续集成

    摘录自:http://blog.csdn.net/kkkloveyou/article/details/53875987 为什么我们迫切需要持续集成(Continuous Integration) 持 ...

  2. jenkins-为什么要持续集成

    持续集成(Continuous Integration),也就是我们经常说的 CI,是现代软件开发技术的基础.本文论述了当前软件开发过程中存在的问题,讲解了持续集成.持续集成服务器的概念,最终探讨了为 ...

  3. 持续集成与持续部署(一)——核心概念之持续集成、持续交付、持续部署

    持续集成与持续部署(一)--核心概念之持续集成.持续交付.持续部署 5-4 持续集成与持续部署 课程介绍 那些大厂们,天天DevOps.持续集成的?到底在讲些什么?这堂课来给你揭开持续集成与持续部署的 ...

  4. 为什么我们迫切需要持续集成(Continuous Integration)

    原文同步至 https://waylau.com/why-we-need-continuous-integration/ 持续集成(Continuous Integration),也就是我们经常说的 ...

  5. 使用Docker实现丝般顺滑的持续集成

    作者简介:蒋运龙,有容云高级咨询顾问.十年来混迹于存储.三网融合.多屏互动.智能穿戴.第三方支付.Docker等行业:经历过测试.运维.实施各岗位全方位的摧残,依然活跃在技术的风头浪尖.  本文转载自 ...

  6. 基于 Jenkins 快速搭建持续集成环境--转

    源地址:http://www.ibm.com/developerworks/cn/java/j-lo-jenkins/ 持续集成是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础 ...

  7. 基于 Jenkins 快速搭建持续集成环境

    持续集成概述 什么是持续集成 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软件工程领域 ...

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

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

  9. svn增量打包部署_持续集成、持续交付、持续部署(CI/CD)简介

    >>>推荐阅读<<< 1.性能测试学习笔记-场景设计 2.性能测试的重要意义 3.性能分析流程及方法 4.应用系统性能调优之性能分析 概述: 软件开发周期中需要一些 ...

最新文章

  1. 浅析在网站优化工作中是如何优化网站流量的?
  2. Postman批量跑接口
  3. 2022年全球及中国盐酸异丙肾上腺素行业投资风险与运营盈利分析报告
  4. iOS 9.0以后支持http协议
  5. packer build 报错 无任何输出 一直报“skipping line: 1 skipping line: 2 skipping line: 3.....”
  6. java洗牌_java语言实现简单的洗牌,发牌
  7. [Unity3d]Unity Mathf 数学运算(C#)
  8. 【高校宿舍管理系统】终章 完成主页以及项目总结
  9. (2)WePHP 控制器与使用模板
  10. iOS:iPhone XR、iPhoneXS、iPhone XS Max屏幕适配
  11. 学习通信原理之——什么是傅立叶级数
  12. Java实现验证码制作
  13. Verilog语言学习
  14. 杰里之. 输出 3 路 PMW【篇】
  15. js UMD规范——AMD和CommonJS的糅合(一)
  16. Microsoft Edge闪退问题解决方案:
  17. Unity VR开发教程 OpenXR+XR Interaction Toolkit (五) UI
  18. 激活各种win 10 系统的方式
  19. 指尖江湖李忘生鸿蒙初开,剑网3指尖江湖李忘生怎么样_李忘生装备搭配、技能特性、解锁方法介绍_游戏吧...
  20. 手把手教你用C写游程编码

热门文章

  1. JVM 垃圾回收机制和常见算法
  2. adapter pattern java_适配器模式(Adapter Pattern)
  3. php在线客服系统源码_在线客服系统物流行业解决方案
  4. 随机密码php,PHP会生成随机密码
  5. python电影推荐算法_电影推荐系统python实现
  6. lottie动画_神器基于Lottie的动效设计平台 ─ 犸良,零基础轻松做出动画效果
  7. int linux 原子操作_linux 原子操作
  8. el表达式中换行_angularjs/ng-bind如何保留换行符
  9. main函数或者run函数的一个作用
  10. bert本质理解记录一