CI/CD: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
Line 6: Line 6:


== Comparison ==
== Comparison ==
;[[Continuous integration]]: Frequent merging of several small changes into a [[Branching (version control)|main branch]].
;[[Continuous integration]]: Frequent merging of several small changes into a [[main branch]].
;[[Continuous delivery]]: When teams produce software in short cycles with high speed and frequency so that reliable software can be released at any time, and with a simple and repeatable deployment process when deciding to deploy.
;[[Continuous delivery]]: When teams produce software in short cycles with high speed and frequency so that reliable software can be released at any time, and with a simple and repeatable deployment process when deciding to deploy.
;[[Continuous deployment]]: When new software functionality is rolled out completely automatically.
;[[Continuous deployment]]: When new software functionality is rolled out completely automatically.

Revision as of 08:32, 3 April 2023

In software engineering, CI/CD or CICD is the combined practices of continuous integration (CI) and (more often) continuous delivery or (less often) continuous deployment (CD).[1] They are sometimes referred to collectively as continuous development or continuous software development.[2]

Comparison

Continuous integration
Frequent merging of several small changes into a main branch.
Continuous delivery
When teams produce software in short cycles with high speed and frequency so that reliable software can be released at any time, and with a simple and repeatable deployment process when deciding to deploy.
Continuous deployment
When new software functionality is rolled out completely automatically.

Motivation

CI/CD bridges the gaps between development and operation activities and teams by enforcing automation in building, testing and deployment of applications. CI/CD services compile the incremental code changes made by developers, then link and package them into software deliverables.[3] Automated tests verify the software functionality, and automated deployment services deliver them to end users.[4] The aim is to increase early defect discovery, increase productivity, and provide faster release cycles. The process contrasts with traditional methods where a collection of software updates were integrated into one large batch before deploying the newer version. Modern-day DevOps practices involve:

of software applications throughout its development life cycle. The CI/CD practice, or CI/CD pipeline, forms the backbone of modern day DevOps operations.

See also

References

  1. ^ Sacolick, Isaac (2020-01-17). "What is CI/CD? Continuous integration and continuous delivery explained". InfoWorld. Retrieved 2021-06-01.
  2. ^ [1]
  3. ^ Rossel, Sander (October 2017). Continuous Integration, Delivery, and Deployment. Packt Publishing. ISBN 978-1-78728-661-0.
  4. ^ Gallaba, Keheliya (2019). "Improving the Robustness and Efficiency of Continuous Integration and Deployment". 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME): 619–623. doi:10.1109/ICSME.2019.00099. ISBN 978-1-7281-3094-1. S2CID 208879679.

External links