Choosing a deployment strategy
Maestro supports two deployment strategies:
- Parallel (default)
When you deploy in parallel, all the deployment tasks for the servers in your application will run in parallel. You will redeploy the entire application - including all code, pre-built images and configurations.
Fast Deployments only push changes to code and/or images.
Fast Deployments are designed to quickly push out changes to the code of your application (for instance via a continuous deployment pipeline). When you enable Fast Deployment for an application, we will:
- Build your code into images AND/OR
- Apply updated images to services
- Run the
deploy_command(ie. for DB Migrations)
If you have made any other changes to your application apart from changing the code, a fast deploy will not capture those changes. It is not intended to handle structural or configuration changes.
Enabling Fast Deployments
The easiest way to trigger a Fast Deployment is via the Dashboard:
- Click Deploy (top right) and choose Deploy with Options
- In the panel that opens (on the left), click the Options tab
- Select Fast Deployment and click Deploy
Via the Toolbelt
You can also trigger a Fast Deployment using Cloud 66 Toolbelt using the following command:
cx stacks redeploy --deploy-strategy fast
If you’re planning to use this strategy regularly, you should consider creating a deployment profile to make triggering Fast Deployments quicker. You can do this via the Deploy with Options menu by clicking the Save these deployment options? link.
Remember you can also trigger deployment profiles using Toolbelt:
cx stacks redeploy --deployment-profile my-fast-deploy
Serial deployment (V1 only)
This feature is only available in Version 1 of Maestro, also know as CSv1.
In this strategy we deploy to each server one at a time. We take each server off the load balancer and then add it back once the deployment has succeeded. If a server fails to deploy we will halt the process and alert you.