In this article we are going to delve into the topic of CI/CD and all the implications that it entails. CI/CD is a topic of great relevance today and has generated a great debate in different areas. Throughout this article we will explore different perspectives and opinions of experts on the subject, as well as concrete examples that will help us better understand the importance of CI/CD in today's society. We will also look at the impact CI/CD has had throughout history and how it has evolved over time. By the end of this article, we hope that readers will have a broader and more complete view about CI/CD and its relevance in today's world.
Part of a series on |
Software development |
---|
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]
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.
The following practices can enhance productivity of CI/CD pipelines, especially in systems hosted in the cloud:[5][6][7]