【名词解释】CI(持续集成) 和 CD(持续交付)

持续集成 CI(Continuous integration)


 

 定义

  是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。

  每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。

 

 措施

  1、减少风险  (多次集成有利于尽快发现集成缺陷)

  2、减少重复过程  (节省时间、费用和工作量)

  3、任何时间、任何地点生成可部署的软件  

  4、增强项目的可见性   (有效决策、构建趋势)

  5、建立团队对开发产品的信心  (构建结果成功率)  

要素

  1.统一的代码库
  2.自动构建
  3.自动测试
  4.每个人每天都要向代码库主干提交代码
  5.每次代码递交后都会在持续集成服务器上触发一次构建
  6.保证快速构建
  7.模拟生产环境的自动测试
  8.每个人都可以很容易的获取最新可执行的应用程序
  9.每个人都清楚正在发生的状况
  10.自动化的部署  

原则

  1. 所有的开发人员需要在本地机器上做本地构建,然后再提交的版本控制库中,从而确保他们的变更不会导致持续集成失败。
  2. 开发人员每天至少向版本控制库中提交一次代码。
  3. 开发人员每天至少需要从版本控制库中更新一次代码到本地机器。
  4. 需要有专门的集成服务器来执行集成构建,每天要执行多次构建。
  5. 每次构建都要100%通过。
  6. 每次构建都可以生成可发布的产品。
  7. 修复失败的构建是优先级最高的事情。
  8. 测试是未来,未来是测试 

 

 

持续交付 CD (Continuous Delivery)


 

定义

  让软件产品的产出过程在一个短周期内完成,以保证软件可以稳定、持续的保持在随时可以发布的状况

 

目标

  目标在于让软件的构建、测试与发布变得更快以及更频繁。这种方式可以减少软件开发的成本与时间,减少风险。

 

posted @   Phoenixy  阅读(793)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示