What is CI, CD & CT?

Continuous Integration (CT), continuous Testing (CT) and continuous Delivery (CD)accelerate the code release process and are thus crucial to DevOps. These processes are often referred to as a CI/CD pipeline or a DevOps pipeline.


Continuous integration. In the CI stage, developers write a feature, update or fix, then commit the code to a central code repository. Organizations often use version control tools like GitHub and Atlassian Bitbucket. These tools enable developers to write or modify code without interrupting another developer's progress.

Once the code commits to the repo, Continuous Testing (CT) begins to shine. In the initial stage of the pipeline, static code analysis can check for syntax issues and common vulnerabilities. Use plugins in the CI server to configure static code analysis with a tool. Static code analysis is an initial test of the code. If the code passes, the unit test stage comes next, unless these tests were performed earlier in the pipeline. Unit tests ensure individual functions perform correctly. The final test stage is functional testing, which comes after the CI server triggers the build. Functional tests make sure that the application or feature does what it is designed to do; they are the gate keepers before code deploys.

The final phase is Continuous Delivery (CD); this stage is where code becomes executable and deploys into the production environment. DevOps teams often use infrastructure as code tools, such as HashiCorp Terraform and Packer, to release to production.

Continuous delivery. Once code passes all the tests, the final stage is deployment. Within the context of a DevOps pipeline, CD often refers to Continuous Delivery, but it can also mean Continuous Deployment. The difference between continuous delivery and continuous deployment is:

  • Continuous delivery puts a change in a staging environment and the release schedule, where a person manually approves code, then deploys it.
  • Continuous deployment automatically deploys code to production once it passes tests.
  • The CI/CT/CD process, like the one detailed above, ultimately provides an automated solution that results in safe deployments to production. Rather than endure manual efforts that take a lengthy amount of time to complete, and introduce human error, automate a DevOps pipeline to get more time for important things -- and a little peace of mind.



Comments

Popular posts from this blog

What are the different types of Non-Functional Tests

Explain SDLC with an example!