zoukankan      html  css  js  c++  java
  • 软件工程中的CI&CD

    在软件工程中,CI/CD或CICD通常是指持续集成以及持续交付或持续部署的组合实践

    持续集成

    在软件工程中,持续集成(CI)是每天将所有开发人员的工作副本合并到共享主线中的一种做法。[1] Grady Booch在1991年的方法中首次提出了CI术语,[2]尽管他不主张每天进行多次积分。极限编程(XP)采纳了CI的概念,并提倡每天进行多次集成-每天可能进行多达数十次。

    基本原理:

    着手进行更改时,开发人员会获取当前代码库的副本以作为工作基础。随着其他开发人员向源代码存储库提交更改的代码,此副本逐渐停止反映存储库代码。不仅现有代码库可以更改,而且可以添加新代码,新库以及创建依赖关系和潜在冲突的其他资源。

    在分支上继续开发而又没有重新合并到主线上的时间越长,则在最终合并到开发人员分支时,多重集成冲突和失败的风险就越大[4]。当开发人员向存储库提交代码时,他们必须先更新其代码以反映存储库中的更改,因为他们已复制了副本。存储库包含的更改越多,开发人员在提交自己的更改之前必须完成的工作越多。

    最终,存储库可能与开发人员的基准变得非常不同,以至于他们输入了有时称为“合并地狱”或“集成地狱”的信息,[5]其中,集成所花费的时间超过了制作所花费的时间。他们原来的变化。

    持续交付

    连续交付(CD或CDE)是一种软件工程方法,团队可以在短周期内生产软件,以确保可以随时可靠地发布软件,并且在发布软件时可以手动进行。[1] [2]它旨在以更高的速度和频率来构建,测试和发布软件。通过允许对生产中的应用程序进行更多增量更新,该方法有助于降低成本,时间和交付变更的风险。一个简单且可重复的部署过程对于持续交付很重要。

    CD与持续部署形成对比,持续部署是一种类似的方法,该软件也可以在短周期内通过自动部署而不是手动部署来生产软件。

  • 相关阅读:
    微信小程序代码大全
    【活动发布】捷微H5-微信新年砍价活动,开源发布了
    小程序官网CMS开源项目出炉,Weixin-App-CMS 1.0 版本正式发布
    jeecg开源项目的IDEA的部署
    1024程序员节宅男节日快乐 -- JAVA快速开发平台,JEECG 3.8宅男优化版本发布
    微信小程序商城开源项目,Weixin-App-Shop 1.0 版本正式发布!!!
    JEECG-Swagger UI的使用说明
    JEECG 上传插件升级-代码生成器
    Why 0.1 + 0.2 === 0.30000000000000004 ?
    linux (一)
  • 原文地址:https://www.cnblogs.com/ajanuw/p/12450792.html
Copyright © 2011-2022 走看看