What is CI, CD & CT?

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.

The next phase involves the automation server, which triggers tests to run on the code. Configure the automation server to watch when a particular branch in the code repository receives a commit. The server should then pull down the code and kick off the pipeline, move code from successful tests to build automation, and so on. Jenkins is the most prolific automation server in the industry; others include Atlassian Bamboo, CircleCI, Travis CI and CloudBees CI.

Continuous testing. 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 from the likes of SonarQube, Veracode or Codacy. 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 are performed .The final test stage is functional testing, which comes after the CI server triggers the build. Functional tests make sure that the application , they are the gatekeepers before code deploys.

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.

Comments

Popular posts from this blog

What is a client and a server?

Why is it important to have a detailed bug description with evidence?