Follow the upgrade path in Upgrade GitLab | GitLab and combine it with earlier versions from the docs archive. You can find earlier versions of the document in the Git history, or by selecting the upper right corner dropdown on docs.gitlab.com, i.e. by selecting 15.11.
First steps, follow 15.11 upgrade path and start with upgrading to the latest 12.x.y release.
Next steps, following current 16.10 upgrade path - start where you ended earlier in the 15.x upgrade path.
Alternatively, follow the suggested path in Upgrade Path
It is important to install specific versions during the upgrade path. There is no “catch all one time” upgrade procedure.
Suggestions
- Review breaking changes and deprecations before upgrades, so you can estimate potential missing features or configuration issues during the upgrade cycles.
- Upgrades also include database migrations, and might take a while. Plan with maintenance offline time.
- It is advised to create a backup before upgrading.
- AFAIK Ubuntu 20 LTS is still supported, so there is no immediate dist upgrade necessary (although might become relevant when 20 LTS goes EOL, and 24 LTS becomes available).
- Document shorter upgrade cycles to keep future installations secure and stable, and reduce upgrade maintenance.