Deployment queues
For concurrent deployments to the same target, Cased uses a deployment queue so that each developer can have a dedicated time to test their functionality without other code stepping over.
Overview
A deployment is enqueued when the branch is not the default branch and a deploy from another user hasn’t happened in the last 15 minutes (this will be adjustable soon).
This means that:
- Default branches will never be enqueued.
- As long as you are the user that is deploying, the target is locked to you for 15 minutes (renewable on each new deploy).
When target is available, the oldest enqueued deployment gets picked.
Configuration
Deployment queues are a native future. Coming soon, admins will be able to configure the locking window for each target (defaults to 15 minutes currently)
Example Scenarios
Scenario 1: Tom and Ivo working on staging.
Tom is testing changes in staging and he deployed first in the day. As long as 15 minutes don’t pass without him deploying, he has a lock on the target. Ivo’s deployments will be enqueued. If Tom stops deploying for 15 minutes, Ivo will get the lock and his enqueued deployments will be run.
Scenario 2: Urgent deploying main
to prod
The default branch is never enqueued, so hotfixes will have priority and no blockers.