Introduction to environments and deployments

Note: Introduced in GitLab 8.9.

Environments

Environments are places where code gets deployed, such as staging or production. CI/CD Pipelines usually have one or more jobs that deploy to an environment. Defining environments in a project's .gitlab-ci.yml lets developers track deployments to these environments.

Deployments

Deployments are created when jobs deploy versions of code to environments.

Defining environments

You can create and delete environments manually in the web interface, but we recommend that you define your environments in .gitlab-ci.yml first, which will automatically create environments for you after the first deploy.

The environment is just a hint for GitLab that this job actually deploys to this environment. Each time the job succeeds, a deployment is recorded, remembering the git SHA and environment.

Add something like this to your .gitlab-ci.yml:

production:
  stage: deploy
  script: dpl...
  environment: production

See full documentation.

Seeing environment status

You can find the environment list under Pipelines > Environments for your project. You'll see the git SHA and date of the last deployment to each environment defined.

Note: Only deploys that happen after your .gitlab-ci.yml is properly configured will show up in the environments and deployments lists.

Seeing deployment history

Clicking on an environment will show the history of deployments.

Note: Only deploys that happen after your .gitlab-ci.yml is properly configured will show up in the environments and deployments lists.