Skip to main content

Command Palette

Search for a command to run...

Continuous Integration and Continuous Delivery[CI/CD]

Updated
2 min read

CI/CD is a software development approach that aims to improve the speed, efficiency and reliability of software delivery. It involves frequent code integration, automated testing and continuous deployment of software changes to production.

Continuous Integration (CI) is the practice of automating the build and testing of code every time a change is made and committing that code to the codebase.

CI/CD enables teams to work together, integrating their code changes frequently and automating the testing and deployment process.

Pipeline is the consistent, automated build and test process for each code commit made. So the pipeline reports any defects found during compilation or testing as quickly as possible.

Continuous Delivery (CD) is done after the code changes are made. It ensures that the code in the codebase is verified and validated.

Examples of CI/CD;
(i) Github actions
(ii) Jenkins
(iii) Built in by some hosting services such as Netlify, Vercel, Pythonanywhere e.t.c

Quality Gates ensures that only clean working and tested code makes it into the repository. So when a developer makes a code change, it goes into a staging repository or some form of locked state until verification and validation requirements are met. At this point, the pipeline is automated, thereby running the build & test automatically. So if the code changes passes all the tests then the commit is transferred to the original codebase. If not the commit remains locked then the developer is notified and fixes the issue before quality gates can grant access.

In Summary, we considered CI/CD, talking about it importance in the software system for delivering quality and efficient softwares. Developers and Engineers should utilize this for better code assurance.