技术概念:敏捷开发、持续集成、持续交付和DevOps的定义及关系梳理

一、敏捷开发、持续集成、持续交付和DevOps的定义

  • 敏捷开发(Agile Development)

Agile software development describes a set of principles for software development under which requirements and solutions evolve through the collaborative effort of self-organizing cross-functional teams.

一种新型的计算机开发方式(与瀑布开发相对立),以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

资料来源:百度百科-敏捷开发 链接

  • 持续集成(Continues Intergration)

In software engineering, continuous integration (CI) is the practice of merging all developer working copies to a shared mainline several times a day.Grady Booch first proposed the term CI in his 1991 method, although he did not advocate integrating several times a day. Extreme programming (XP) adopted the concept of CI and did advocate integrating more than once per day – perhaps as many as tens of times per day.

在源代码变更后自动检测、拉取、构建并进行单元测试的开发过程,持续集成的目标是快速确保开发人员新提交的变更是好的,并且适合在代码库中进一步使用。

资料来源:Wikipedia-Continues Intergration 链接

  • 持续交付(Continues Delivery)

Continuous delivery (CD or CDE) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time and, when releasing the software, doing so manually.It aims at building, testing, and releasing software with greater speed and frequency. The approach helps reduce the cost, time, and risk of delivering changes by allowing for more incremental updates to applications in production. A straightforward and repeatable deployment process is important for continuous delivery.

CD contrasts with continuous deployment, a similar approach in which software is also produced in short cycles but through automated deployments rather than manual ones.

资料来源:Wikipedia-Continues Delivery 链接

  • DevOps

DevOps (a clipped compound of "development" and "operations") is a set of software development practices[failed verification] that combines software development (Dev) with information technology operations (Ops) to shorten the systems development life cycle while delivering features, fixes, and updates frequently in close alignment with business objectives.

技术概念:敏捷开发、持续集成、持续交付和DevOps的定义及关系梳理_第1张图片

DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。

它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。

资料来源:

1.Wikipedia-DevOps 链接

2.百度百科-DevOps 链接

二、敏捷开发、持续集成、持续交付和DevOps之间的关系

技术概念:敏捷开发、持续集成、持续交付和DevOps的定义及关系梳理_第2张图片

 

你可能感兴趣的:(DevOps,技术概念)