README.md 3.79 KB
Newer Older
1 2 3
# GitLab Release Process

This repository contains instructions for releasing new versions of
4 5
GitLab Community Edition (CE), Enterprise Edition (EE) and GitLab.com release
related processes.
6 7

The goal is to provide clear instructions and procedures for our entire release
8
process. This repository includes documentation which should help perform the
Mayra Cabrera's avatar
Mayra Cabrera committed
9
role of [Release Manager](#release-manager) as well as
10
documentation that should help other stake-holders in the release process.
11 12 13

The topics are divided per each type of release. Each type of release has a
general process overview and specific documentation for different stakeholders.
14

Mayra Cabrera's avatar
Mayra Cabrera committed
15
## Release Manager
16

Mayra Cabrera's avatar
Mayra Cabrera committed
17 18
- [Getting started](release_manager/index.md#getting-started)
- [Offboarding](release_manager/index.md#offboarding)
19

20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
## Releasing monthly stable version

- [General process overview](general/monthly/process.md)
- [Release manager in monthly release](general/monthly/release-manager.md)

## Releasing patch versions

- [General process overview](general/patch/process.md)

## Security release

- [General process overview](general/security/process.md)
- [Release manager in security release](general/security/release-manager.md)
- [Security engineer in security release](general/security/security-engineer.md)
- [Developer in security release](general/security/developer.md)
- [Quality engineer in security release](general/security/quality.md)

John Skarbek's avatar
John Skarbek committed
37 38 39 40
## Building

- [Overview of Building Packages](general/building-packages.md)

John Jarvis's avatar
John Jarvis committed
41 42 43
## Deployment

- [Traffic Generation](general/deploy/traffic-generation.md)
44
- [Post Deployment Patches](general/deploy/post-deployment-patches.md)
45
- [Auto-deploy process](general/deploy/auto-deploy.md)
46
- [Deploy Failures](general/deploy/failures.md)
47
- [Temporarily stopping auto-deploy process](general/deploy/stopping-auto-deploy.md)
John Jarvis's avatar
John Jarvis committed
48

49 50
## Guides

John Skarbek's avatar
John Skarbek committed
51
- [Overview of our Tooling](general/tooling.md)
52
- [Overview of the release management dashboard](release_manager/dashboard.md)
Robert Speicher's avatar
Robert Speicher committed
53
- [How to release new minor versions of GitLab each month](general/monthly.md)
John Skarbek's avatar
John Skarbek committed
54
- [How to release patch versions of GitLab](general/patch/process.md)
Robert Speicher's avatar
Robert Speicher committed
55 56 57 58 59 60
- [How to create release candidates for new monthly versions of GitLab](general/release-candidates.md)
- [How to remove packages from packages.gitlab.com](general/remove-packages.md)
- [Required permissions to tag and deploy a release](general/permissions.md)
- [Guidelines for a new major release of GitLab](general/major.md)
- [Pro tips](general/pro-tips.md)
- [Release template files](https://gitlab.com/gitlab-org/release-tools/tree/master/templates)
61
- [How to create a blog post for a patch release](general/patch/blog-post.md)
Yorick Peterse's avatar
Yorick Peterse committed
62
- [How the GitLab FOSS mirror is kept up-to-date](general/gitlab-foss-mirror.md)
63

64 65 66
## Runbooks

- [What to do in case of incident with Severity 1 (S1)](runbooks/sev-1-incident.md)
67
- [Background Migrations](runbooks/background-migrations.md)
John Skarbek's avatar
John Skarbek committed
68
- [Variables!](runbooks/variables.md)
Robert Speicher's avatar
Robert Speicher committed
69

70 71 72 73 74
## Further Reading

- ["Release Manager - The invisible hero"](https://about.gitlab.com/2015/06/25/release-manager-the-invisible-hero/) (2015-06-25)
- ["How we managed 49 monthly releases"](https://about.gitlab.com/2015/12/17/gitlab-release-process/) (2015-12-17)

75 76 77 78 79 80 81 82 83 84 85 86
## Outdated documentation

The documentation below is outdated and only remains linked to prevent dead links

- [Exception requests](general/exception-request/process.md)
- [CE to EE merge](general/merge-ce-into-ee.md)
- [Manual QA testing for Release Managers](general/qa-checklist.md)
- [How to pick changes for Omnibus GitLab](general/pick-to-omnibus-gitlab.md)
- [How to push a new omnibus tag version](general/omnibus-tag.md)
- [How to pick specific changes into `stable` branches](general/pick-changes-into-stable.md)
- [How to push to multiple remotes at once](general/push-to-multiple-remotes.md)

87 88 89 90 91 92 93
## Contributing

See [CONTRIBUTING.md](./CONTRIBUTING.md).

## License

See [LICENSE](./LICENSE).