Continuous Integration (CI) is a practice to constantly adding the code to the main branch. The release candidate is created from the main branch and sent to the production. It is a good approach and allow the team to work on multiple stream of works. The developers cut out a feature branch and work on the same. Once the development of the feature branch is complete, it is integrated and all the test needs to run on the final branch. If everything is in green that means all the test have passed, the system is deployed on production.