The route to live should be
- Fast
- Protect current functionality
- Automated
The above goals will be realized by the CI/CD pipeline, which includes different test suites to protect current functionality.
The above figure depicts the CI/CD pipeline flow
- Developer will check-in the code(including unit test) into version control system.
- The CI/CD automation tool (Jenkins) will listen to the check-ins, and on each trigger it will run clean, build, unit tests.
- To keep the code quality to an acceptable standard. The static code analysis tool will be used.
- After the code analysis is successful, the deployment artifacts will be stored in artifact repository.
- The first deployment will be done on Development environment.
- If deployment is successful, component and smoke tests will be performed.
- Depending on the requirement to deploy on higher environments, authorized user can further push the artifacts, which will have additional test suites to be tested based on the environment. This cycle can go up to Production.