30. CI/CD
For IT development team to work on a project, we will need to implement development practices and DevOps called CI/CD (Continuous Integration vs Continuous Delivery vs Continuous Depolyment)
Developers working in a team which practicing continuous integration(CI) would merge their changes back to the main branch as often as possible. The developer's changes are validated by creating a build and running automated tests against the build. By doing so, integration challenges that can happen when waiting for release day to merge changes into the release branch can be greatly avoided.
For CD, it can be either continuous delivery or continuous deployment.
Continuous delivery is an extension of continuous integration, it automatically deploys all code changes to a testing and/or production environment after the build stage. Then, a team manager would check the code and decide when to deploy or any changes need to be made before the deployment.
While Continuous deployment goes one step forward. Every change that passes all stages of the production pipeline is released to the customers. There's no human intervention, and only a failed test will stop a new change to be deployed to production.
By doing CI/CD, less human and time input is being made for an project, customers can also evenjoy new features much faster. However, it requires a great testing system to make sure every elements in the project have been fully tested, departments have to be cooperated closely.
I have set up the circleci config on my blog.
