Continuous deployment is a software release mechanism in which code that has been approved by automated testing is automatically pushed to the production phase, allowing code changes to be visible to users. Continuous Deployment should be exercised only by the development team after thorough tests and after ensuring that new releases are monitored in real-time for any potential issues. Due to the absence of human involvement in code testing and verification, continuous deployment requires a rigorous amount of tests.
Points to Remember
- Similar to continuous delivery, continuous deployment also has a key function at its core called continuous deployment pipeline. Both continuous delivery and continuous deployment use similar tools, however, tools used in continuous deployment are more focused on code testing.
There are several different tools to handle different aspects of continuous deployment. Code deployment and hosting resource configuration can be handled by tools like Ansible and Puppet. Tools such as Calabash and Cucumber can help with acceptance tests.