Deployment Rule

A Deployment Rules lets you configure the lifecycle of your Environments.

Why using Deployment Rule?

Cloud cost optimization

Using the Deployment Rules is a good practice to drastically reduce your cost. Indeed, Qovery knows how to optimize your Cloud resources when your applications are not running. Then you can expect to reduce your Cloud cost up to 60% by using the Deployment Rules.

Time optimization

Configuring your environments, managing, starting, shutting down all takes valuable time from your developers. Deployment Rules allow you to declaratively set up how your resources should be used, let Qovery do the dirty job, allowing your employees to focus on important things.

Examples

Shutting down environments

Developers in your company work from 9-to-5, five days a week. During the weekend, at night, and of the working hours, keeping all development environments running may be a huge expense that gives you no benefits.

Deployment Rules address this problem very effectively - all you need to do is to define when you need your environments to be running, and let us handle the rest. Qovery will start and stop your services for you to make sure your cloud spending is optimized and wise.

Using cheaper cloud providers

Running your development environments on expensive cloud providers might not be the best way to spend your money. Deployment Rules allow you to deploy your development environments to a cheaper cloud account while still keeping your production using the most reliable services provided by the more expensive cloud provider.

Rule Levels

You can set up your Rules at Project and Environment levels. Rules set up at the Project level will be automatically applied to newly created Environments you target in the rule. If, however, the default settings applied by the Project level rule does not meet your needs, you are allowed to override the settings at the Environment level later on.

Project Deployment Rules

Declaring deployment rules at the project level allows you to apply reasonable defaults to all newly created environments. After a new environment within a project is created, rules from the Project are applied to the Environment. However, to keep things flexible, Qovery allows you to override the rules after environment creation at the Environment level, in Environment settings.

Project Rules Configuration

  1. Navigate to Console

  2. Select your project

  3. In project overview, click Settings button:

    Deployments

  4. In the popup, select Deployment Rules and add New:

    Deployments

  5. General

    Mode

    Selecting Mode allows you to choose the type of services provisioned in your environments. It's a great way to optimize your cloud expenses:

    • PRODUCTION mode will provision reliable, production-ready services. It will make sure your production is covered with backups, high uptime, and stability
    • DEVELOPMENT mode will provide services in development mode, e.g. Qovery will deploy cheap, containerized versions of databases to avoid provisioning costly, cloud-provider managed services

    Cluster

    Selecting the cluster allows you to control to which cluster your environments in the project will be deployed to.

    Example use cases

    • deploy your development environments on a cheap cloud provider
    • deploy your environments in multiple regions

    Deployments

    Deployment

    Auto-deploy

    Auto deploy allows you to control if your applications should be, by default, automatically updated after receiving new commits.

    Start & Stop

    The start and stop section allow you to precisely set up when the environments inside the project should be deployed and cleaned up.

    Example use cases

    • shut down your development environments during the weekend
    • deploy additional environments during peak hours

    Target Future Environment

    This option allows you to specify which environments should be affected by the given deployment rule.

    Deployments

    It takes a regex expression as a parameter and, based on that, decides which rule should be applied to a newly created environment.

Environment Deployment Rules

Setting up Deployment Rules at the Enviornment level allows you to make all necessary adjustments applied by your default rules from the Project level.

Environment Rules Configuration

  1. Navigate to Console

  2. Select your project and environment

  3. In environment overview, click Settings button:

    Deployments

  4. General

    Mode

    Displays the mode of your environment. This field is not editable after the environment was provisioned.

    Cluster

    Displays the cluster assigned to your environment. This is not editable after the environment was provisioned.

    Deployments

    Deployment

    Auto-deploy

    Auto deploy allows you to override the default settings applied by the project rule related to if your applications should be by default automatically updated after receiving new commits.

    Deployments

    Start & Stop

    The start and stop section allow you to override the default settings applied by the project rule to precisely set up when the environment should be deployed and cleaned up.

    Deployments