CI/CD: Difference between revisions
No edit summary Tags: Mobile edit Mobile web edit Advanced mobile edit |
No edit summary |
||
Line 1: | Line 1: | ||
{{Short description|Software development methodology}} |
{{Short description|Software development methodology}} |
||
{{ |
{{For|corporate communication topics|Corporate identity|Corporate design}} |
||
{{Software development process}} |
{{Software development process}} |
||
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).<ref>{{Cite news |url=https://www.infoworld.com/article/3271126/what-is-cicd-continuous-integration-and-continuous-delivery-explained.html|title=What is CI/CD? Continuous integration and continuous delivery explained|last=Sacolick|first=Isaac|date=2020-01-17|work=[[InfoWorld]]|access-date=2021-06-01|language=en}}</ref> They are sometimes referred to collectively as '''continuous development''' or '''continuous software development'''.<ref>[https://www.synopsys.com/glossary/what-is-continuous-development.html]</ref> |
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).<ref>{{Cite news |url=https://www.infoworld.com/article/3271126/what-is-cicd-continuous-integration-and-continuous-delivery-explained.html|title=What is CI/CD? Continuous integration and continuous delivery explained|last=Sacolick|first=Isaac|date=2020-01-17|work=[[InfoWorld]]|access-date=2021-06-01|language=en}}</ref> They are sometimes referred to collectively as '''continuous development''' or '''continuous software development'''.<ref>[https://www.synopsys.com/glossary/what-is-continuous-development.html]</ref> |
||
== Comparison == |
== Comparison == |
||
;[[Continuous integration]]: Frequent merging of several small changes into a [[Branching (version control)|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 == |
== Motivation == |
||
Line 31: | Line 32: | ||
{{Software engineering|state=expanded}} |
{{Software engineering|state=expanded}} |
||
[[Category:Software development]] |
[[Category:Software development]] |
Revision as of 08:31, 3 April 2023
Part of a series on |
Software development |
---|
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:
- continuous development,
- continuous testing,
- continuous integration,
- continuous deployment, and
- continuous monitoring
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
- Continuous integration (CI)
- Continuous delivery (CD)
- Continuous deployment (CD)
References
- ^ Sacolick, Isaac (2020-01-17). "What is CI/CD? Continuous integration and continuous delivery explained". InfoWorld. Retrieved 2021-06-01.
- ^ [1]
- ^ Rossel, Sander (October 2017). Continuous Integration, Delivery, and Deployment. Packt Publishing. ISBN 978-1-78728-661-0.
- ^ 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
- El Khalyly, B.; Belangour, A.; Banane, M.; Erraissi, A. (2020). "A new metamodel approach of CI/CD applied to Internet of Things Ecosystem". 2020 IEEE 2nd International Conference on Electronics, Control, Optimization and Computer Science (ICECOCS): 1–6. doi:10.1109/ICECOCS50124.2020.9314485. ISBN 978-1-7281-6921-7. S2CID 231645681.
- Sane, P. (2021). "A Brief Survey of Current Software Engineering Practices in Continuous Integration and Automated Accessibility Testing". 2021 Sixth International Conference on Wireless Communications, Signal Processing and Networking (WiSPNET): 130–134. arXiv:2103.00097. doi:10.1109/WiSPNET51692.2021.9419464. ISBN 978-1-6654-4086-8. S2CID 232076320.