What is CICD?
Do you need more testers and people who do the same thing again and again? The answer should be NO.
Today we are going to talk about how to reduce the testing and deployment effort with this new technical jargon CICD. The first question which come to your head is what is this heck? Let’s understand this.
What is CICD?
It is acronym for Continuous Integration and Continuous Delivery. It is simply automate the testing and the deployment. Let’s dive into some use cases and understand the importance.
As you see there are two words in CICD and let me explain them separately and then combine.
Continuous Integration
In companies developers use version controlling systems to collaboratively develop applications. They work in different branches and once they finish the module they have to integrate it with the master branch.
Wait? Without testing? It will break the code.
Yes definitely. Before integrating the code you have to test this code and think of testing more and more modules. Then it leads to more cost for testers and it will take time to integrate.
Continuous integration comes to solve the above problem. Once you make a pull request to the master it tests the code with master branch and update the test results immediately.
To automate the task you have to do some coding and let it pass to a tool to test as follows.
Once the tool tests, it will give the output to the version control service provider and if it is good to go you can merge it with the master.
With the Continuous integration the testing is automated and helps to do the integration quicker.
Continuous Delivery
Once the code is merge with the master it is good to deploy. Let me explain the manual process of this. Once the code is merge to the master branch then DevOps engineers come get the code, test and deploy it manually. Most of the time deployment can be done using same steps as it is a repetitive task.
The problem of manually doing this is, it will take much time and much money since we have to hire more DevOps engineers when no of deployments increase per month.
Then Continuous delivery come to the picture where there are several tools which will automate the deployment mechanism completely apart from might asking for some approvals which will be matter of one or two clicks.
Important: In Continuous delivery also it will test the code before deploy.
Then it will also help to save the time and money.
CICD Tools
Then let me introduce some CICD tools which can be used.
- Jenkins
- Travis CI
- Go CD
- Concourse CI
- Spinnaker
- Circle CI
- TeamCity
Hope you get a better understanding about CICD.
If you have found this helpful please hit that 👏 and share it on social media :)