Skip to content
Snippets Groups Projects
Verified Commit 03a05e57 authored by Robert Speicher's avatar Robert Speicher
Browse files

Make rollbacks runbook the SSOT for rollbacks

Also removes outdated deployer pipeline example image.
parent b524eb26
No related branches found
No related tags found
1 merge request!421Documentation cleanup
## Overview
# Overview
GitLab.com deployments are initiated by GitLab Chatops, this triggers
GitLab.com deployments are initiated by GitLab Chatops, which triggers
a new pipeline on the [Deployer](https://ops.gitlab.net/gitlab-com/gl-infra/deployer) project.
To see all available options for deploy run `/chatops run deploy --help`:
To see all available options for deploy run `/chatops run deploy --help`
## Creating a new deployment for _upgrading_ GitLab
Deployments are initiated using GitLab Chatops.
For example, to initiate a deployment of 11.8.0 to **staging**:
For example, to initiate a deployment of 11.8.0 to **staging** (default):
```
/chatops run deploy 11.8.0.ee.0
......@@ -17,7 +17,7 @@ For example, to initiate a deployment of 11.8.0 to **staging**:
## Override variables
Variables can be set on the deployer pipeline to change its behavior or
the jobs that will be executed. See [variables.md](../../runbooks/variables.md)
the jobs that will be executed. See [variables.md](../../runbooks/variables.md).
### Bypassing Failures
......@@ -63,28 +63,13 @@ the forced failure on the prepare job by using the option
This essentially sends the variable `PRECHECK_IGNORE_ERRORS` to the deployment
pipeline.
### Creating a new deployment for _rolling back_ GitLab
### Creating a new deployment for _rolling back_ GitLab to an earlier version
**IMPORTANT: Before initiating a rollback ensure to follow the [appropriate runbook](../../runbooks/rollback-a-deployment.md),
the following paragraph covers how to start a manual rollback pipeline on the deployer project in case of a chatops failure.**
Rollbacks are covered in detail in the [rollback runbook](../../runbooks/rollback-a-deployment.md).
In case of need it's possible to start a deployer pipeline by initiating a new pipeline
on the [deployer project](https://ops.gitlab.net/gitlab-com/gl-infra/deployer/-/pipelines/new)
**default branch** and setting the environment and version CI variables.
## CI/CD Pipeline for a Deployer
* `DEPLOY_ENVIRONMENT`: **required** (i.e.: `gstg`, `gprd`)
* `DEPLOY_VERSION`: **required**
* `DEPLOY_ROLLBACK`: **required for rollback**, set to `true` to initiate a rollback pipeline
_Note that all pipelines initiated on branches will automatically set the
`--dry-run` flag which can be useful for testing._
![Deployer Pipeline](../images/deployer-example.png)
### CICD Pipeline for a Deployer
#### Assets
### Assets
Assets are either extracted from the assets docker image if it is available or pulled from the omnibus package.
This is done with a [shell script](https://gitlab.com/gitlab-com/gl-infra/deploy-tooling/-/blob/master/bin/fetch-and-upload-assets) in the deploy pipeline at the same time when we run database migrations in a job called `<ENV>-assets. See [.gitlab-ci](https://gitlab.com/gitlab-com/gl-infra/deployer/-/blob/d0b25b4c783d6010a9d7d0ce64ae49cdda813bb6/.gitlab-ci.yml#L345-359).
......
general/images/deployer-example.png

53.9 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment