CI/CD explained
In software engineering, CI/CD or CICD is the combined practices of continuous integration (CI) and continuous delivery (CD) or, less often, continuous deployment.[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
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
External links
- Book: B. . El Khalyly . A. . Belangour . M. . Banane . A. . Erraissi . 2020 IEEE 2nd International Conference on Electronics, Control, Optimization and Computer Science (ICECOCS) . A new metamodel approach of CI/CD applied to Internet of Things Ecosystem . 2020 . 1–6 . 10.1109/ICECOCS50124.2020.9314485 . 978-1-7281-6921-7 . 231645681 . https://ieeexplore.ieee.org/document/9314485.
- Book: Sane, P. . 2021 Sixth International Conference on Wireless Communications, Signal Processing and Networking (WiSPNET) . A Brief Survey of Current Software Engineering Practices in Continuous Integration and Automated Accessibility Testing . 2021 . 130–134 . 10.1109/WiSPNET51692.2021.9419464 . 2103.00097 . 978-1-6654-4086-8 . 232076320 . https://ieeexplore.ieee.org/document/9419464.
Notes and References
- News: What is CI/CD? Continuous integration and continuous delivery explained. Sacolick. Isaac. 2020-01-17. InfoWorld. 2021-06-01. en.
- Web site: What is Continuous Development and How Does It Work? | Synopsys .
- Book: Rossel, Sander . Continuous Integration, Delivery, and Deployment . October 2017 . Packt Publishing . 978-1-78728-661-0.
- Book: Gallaba, Keheliya . 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME) . Improving the Robustness and Efficiency of Continuous Integration and Deployment . 2019 . 619–623 . 10.1109/ICSME.2019.00099. 978-1-7281-3094-1 . 208879679 . https://escholarship.mcgill.ca/concern/theses/wd376267t .