What is Continuous Integration and Continuous Deployment And ideal work flow


Continuous Integration

Continuous integration is the practice of constantly merging development work with a Master branch so that you can test changes and test that those changes work with other changes. Idea here is test our code as often as possible so we can catch the issues/bugs as early as possible.
In the continuous integration process, most of the work is done by an automated test technique.




Continuous Deployment

 Continuous deployment is a strategy for software releases where in any code commit that passes the automated testing phase is automatically released into the production environment, making changes that are visible to the software's users.

Continuous deployment eliminates the human safeguards against unproven code in live software. It should only be implemented when the development and IT teams adhere to production-ready development practices and thorough testing, and when they apply sophisticated, real-time monitoring in production to discover any issues with new releases.


Ideal work flow 


Step 1: Developer checks in code to development branch.
Step 2: Continuous integration server picks up the change, merges it with Master, and performs unit tests and votes on the merge to staging environment based on test results.
Step 3: If Step 2 is successful, developer deploys it to the staging environment and QA tests the environment.
Step 4: If Step 3 passed, you vote to move to production and the continuous integration server picks this up again and determines if it’s ok to merge into production.
Step 5: If Step 4 is successful, it will deploy to production environment.  




0 comments:

Post a Comment

Copyright © Learn software testing - Blogger Theme by BloggerThemes & newwpthemes - Sponsored by Internet Entrepreneur