CI and CD are two acronyms that are often mentioned when people talk about modern development practices. CI tands for continuous integration, a practice that focuses on making preparing a release easier. But CD can either mean continuous delivery or continuous deployment, and while those two practices have a lot in common, they are used in collaboration by the Quality Control Technology team to continually improve the Quality Control Technology products.
Leveraging our extensive investment in leading edge CI / CD there is no "upgrade" or "release day" experienced by our customers. Our product features simply evolve and are automatically released to the production environment automatically.
Our Developers use continuous integration to merge their changes into the main development branch as often as possible. Our developer's changes are validated by creating a build and running our automated test suite against the build. By doing so, our new features are developed, merged, tested, built and deployed into our staging environment.
Continuous integration puts a great emphasis on testing automation to check that the application is not broken whenever new commits are integrated into the development branch.
Continuous delivery is an extension of continuous integration, we use this to make sure we can release new changes to our customers quickly in a sustainable way. This means that on top of having automated testing, we have automated our release process and you can deploy our Quality Control applications at any point of time at the click of a button.
Continuous deployment goes one step further than continuous delivery and is used in the Quality Control Technology Staging environment deployment. With this practice, every change that passes all stages of our development pipeline is released to the staging environment only. This allows us to manually shake out any change to the Quality Control Technology products in a production like environment before promoting the entire build to the production customer environment.
How the practices relate to each other
Coupled with the use of a Kubenetes based architecture, Quality Control Technology can simultaniously develop, test, build and deploy to our customers without downtime or interruption. With Quality Control Technology, there isn't a "Release Day." Our Developers can focus on building software, and they see their work go live minutes after they've finished working on it.