Using deployment profiles
What are deployment profiles?
Deployment profiles enable you to customise the deployment process depending on the situation. For example, you may only want to deploy your front-end servers, and leave your databases undisturbed. Rather than manually setting this up each time you need it, you can save it as a profile.
Creating a deployment profile
To create a new deployment profile:
- Log into your Cloud Dashboard and open any of your apps
- Click on the green Deploy button (top right) and select Create New Profile
- Name your Deployment Profile
- Configure it as needed
- Click Save Profile
Using a deployment profile
You can use a deployment profile:
- Via the Dashboard by clicking on Deploy and selecting the profile name
- Via redeployment hooks (see below)
Option for deployments
Git branch or Tag to Deploy
You can set a profile to deploy a specific Git branch or Tag. If you don’t see the branch or tag in the list, click the reload button next to the dropdown to fetch the latest info from your git repo.
Deployment strategy
- Parallel Deployment: Deploy to all your servers simultaneously
- Serial Deployment: Deploy to your servers sequentially.
- Rolling Deployment: Deploy to your servers in two batches
For more information on how these strategies work, please read our detailed guide to deployment strategies.
Pause Jobs
You can choose to pause all your server and application jobs while you’re deploying. The jobs will be automatically resumed once the deployment is completed.
Database migration
You can choose whether or not to run database migrations as part of deployments that use this profile. Read our database management guide for more info.
Upgrades
You can choose to upgrade the components and packages that your servers are using as part of a deployment.
This is quite likely to result in some downtime. We strongly recommend reading our guide to the subject before doing this.
- Apply Security Upgrades: Install the latest Ubuntu security packages immediately (they are applied once a day by default).
- Apply Ruby/Node upgrades: Upgrade the version(s) of Ruby and Node to the latest stable version.
- Reboot My Servers If Required - this option will allow your servers to reboot if an upgrade or update process requests it. This will obviously cause downtime during the deployment.
Calling a deployment profile via a redeployment hook
Redeployment hooks allow you to initiate a deployment simply by calling a URI. These hooks can be combined with deployment profiles to completely automate the deployment pipeline. Read our how-to guide on redeployment hooks for details on how to achieve this.