Environment

An Environment is a group of applications and databases running within the same namespace. A Project can have multiple Environments.

Create an environment

You can create a new environment by clicking on the Create environment button of the Project page. A modal will appear that will allow you to specify following parameters

  • name: Give a name to your environment that is easily recognizable by anyone from your team. It is good practice to name your environment production, main or master, staging, dev, fix/xxx, feat/xxx, depending on the purpose of your environment.
  • mode: Specify environment mode. See Types of environment section.
  • cluster : Specify the organization cluster on which this new environment will be deployed.

Create an environment

Deployment Management

Have a look at the Deployment Management section for more information.

Deployment rules and automatic option.

By default, mode and cluster parameters are set as "automatic".

If Automatic option is specified for one or both of these parameters, deployment rules will automatically select the cluster and the mode you specified in it.

If you chose to specify a cluster and/or a mode during the environment creation, the deploymment rules will also be applied, but the cluster and the mode will be overwritten by the one you just specified.

If you let Automatic option and that no deployment rule catch this new environment, the default mode and cluster will be applied.

Create an environment

When you start using Qovery heavily, your environment list can look like this

List of environments

Edit environment general settings

General settings of an environment can be updated in the settings panel. Your can access to it by clicking on the SETTINGS button.

Environment settings button

On the General tab, you will be able to update your environment name. It will also display the environment mode and the cluster assigned to your environment.

Environment settings button

Preview environment

Use Preview Environment to get early feedback on your application changes.

The purpose of an Environment is to manage a bunch of applications that are working all together. Your production environment runs 24/7, where your other environments may not need to run all day long. E.g. you may need to run Environments to get early feedback on your application changes before the changes are merged into production. This is what we call Preview Environment.

Sometimes Preview Environment are also known as Ephemeral Environment, Temporary Environment, Development Environment.

Creating a Preview Environment is similar to create a casual Environment.

Build and Deployment logs

Sometimes, you need to have a closer look on what is going on while an operation (see statuses) is in progress.

Click on the show logs button to watch your deployment logs in real-time.

Environment deployment logs

Clone environment

Cloning an environment is possible if you want to create an Environment from another one.

Environment actions dropdown

Environment clone is convenient for those use cases:

  • Make a demo without impacting the original Environment.
  • Validating a feature that needs to reflect the original Environment.

Types of environment

You can define a specific mode for an environment, to label it and share with others in the organization how to use it. Here is the mode you should set depending of the use of your Environment.

environment moderecommended modewhy
productionProduction environment should not be stopped or deleted by anyone.
StagingStaging environment reflects how things work and is sometimes as critical as production for companies.
DevelopmentDeveloment environment is a working environment that could be used to develop and test new features and fixes.

Moreover, Preview environment mode will be automatically set as Preview.

Advanced features

It is possible to go beyond than the basic configuration for an Environment. Here is a list of advanced features available for your environments.

Auto-Deploy environment

Auto-Deploy environment feature allows you to control if your applications should be, by default, automatically updated after receiving new commits. This feature is part of the Environment deployment rules feature.

Auto-delete environment

Auto-delete environment feature allows you to control if your applications should be, by default, automatically deleted after branch merging or deletion. This feature is part of the Environment deployment rules feature.

Deployment rules

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

Refer to the Deployment Rule documentation to know more.

Deployments history

You can easily access to the deployments history of your environment by clicking on deployment history button in Action menu.

Deployment history button access

This page allows you to view the history of all previous deployments of your environment and their status. By clicking on the extension button, you will also be able to view the services deployed in the environment and their deployment status.

Deployment history list

Cancel an environment deployment

It may happen that you launch an unwanted deployment (setting error, wrong commit deployed, etc.) and you want to cancel the deployment, rather than waiting for the action to be completed and then performing a rollback, which can be time consuming.

To cancel a deployment, click on Cancel deployment in the Action menu of your environment.

Cancel deployment Action button

Delete an environment

To delete your environment, you must go in the settings > Danger zone and delete your Environment.

Environment danger zone