Open
Milestone
Implement Continuous Deployment (CD)
The current accepted practice for deploying services is to deploy whenever a merge request is merged. The main benefits to this are shorter feedback cycles and decreasing the risk of each deployment (as each deployment only has a single change).
We would like to adopt this practice for privatestorage, for both our internal systems, and for our product deployment.
We need to make a number of improvements to our deployment automation to be able to do this.
- We need better automated tests of our complete system (both pre- and post-deployment).
- We need better observability into our running systems.
- We need the ability to easily rollback changes.
- The system should be able to automatically rollback if it detects issues.
- We need testing to ensure that we can safely rollback changes; both for our own software, and dependencies (particularly stateful ones)
- We probably want to be able to incrementally deploy changes to part of our servers, before rolling it out to all of our servers.
- We probably want to deploy a merge request before merge, either to a staging environment, or to portion of our production systems.
This is a large body of work, but we will start getting value from improvements immediately, without needing to complete all of it.
Some issues related to this are in other milestones, with the Continuous Deployment label.
Loading
Loading
Loading
Loading