Continuous Delivery & Deployment Post/Pre Approval Concept
Lets assume Building the pipeline was successful.
Consider 4 environments: dev QA, stage, prod, Where dev & QA will be the lower and the stage & and prod will be the upper environment.
After successfull build (CI), Changes are automatically pushed to your lower environment, without any approval
Staging environment
Pre &post-approvals conditions apply to the higher environment Only. Why? This is manual interference might be for anything like
- may be awaiting QA
- The product manager wants QA to confirm everything is fine
- Confirmation requried for automated testing.
Even though it's an automated pipeline, manual interventionists are still there. Approve and manually deployment of update to higher environments.
Production Environment
Production environment is similar. This happens when you follow a delivery technique. Delivery is usually utilised with projects with release cycles.
Biweekly releases are scheduled till your products are implemented. the stage. After waiting for the release day, you press the button and things get the Products go into production.
Continuous delivery
- Continuous delivery automates release. We can deploy our app anytime with a click.
- Continuous delivery lets you release daily, weekly, fortnightly, or whenever you choose as per your company needs.
- Continuous delivery deploys code automatically to lower environments.
However, higher environment deployment requires manual clearance.
Continuous Deployment
Deployment resembles delivery. Only that modifications are delivered across all environments, whome build succeeds. The changes will go throughout the environment till it reach production.
The only thing that can stop this release to go to production is either
- one of the stage fails
- or the build fails.
- or the tests fails
In such cases the build should be very robust.
- It should be integrated with all sort of unit test cases.
- The module should be thoroughly tested.
- It should have the security analysis testing done.
- It should have the vulnerability scanning done.
- All sort of testing should be performed.