I have a gitlab CE(8.13.3) installed in a vm. I want to upgrade it to the latest stable version(15.x.x?). It would not be easy as I went through the docs, so came here to ask those who have done such upgradations and gitlab experts.
It’s sad that the gitlab backup and restore is only possible for the same gitlab version. Or else I would spin up another instance with latest gitlab installed and restore the data taken for the old gitlab version instead of incremental upgradation which will require some downtime. Also 8.13.3–>15.x.x may take considerable amount of time.
So, if there is no other way other than the incremental upgradation, I want to know the upgradation path and process for the mentioned gitlab version to the latest one.
No there is no other way to upgrade than by following the upgrade path. I keep mine up-to-date by regularly updating - that way I never end up in a situation you have with a seriously old version of Gitlab. By keeping on top of your upgrades doing it regularly, you only use 5 - 10 minutes of your time doing an upgrade. For you with such an old version to upgrade to the latest, you are looking at a few days at least depending on how long you have to wait between each upgrade, and how many you can physically do in one day. Eg: I did 20 upgrades in one day once when following upgrade path. But since then I upgrade as soon as new version is released.
So yes, incremental upgrades is your only way - there are plenty of posts that already cover upgrading Gitlab on this forum, so the irrespective of what incremental upgrade from whatever old version to new version the steps/procedures are pretty much the same. Follow upgrade path, do an incremental upgrade, wait for background migrations to finish, start next upgrade on upgrade path.
You cannot restore from an old version to a new version because of the huge differences between versions, including postgresql versions and lots of other changes. Also, database migrations need to be applied to the database as well, so trying to restore a database that doesn’t have this is also another reason.
Thank you @iwalker for your reply and conformation! One more question I have is, can we spin up the latest Gitlab and import all the repos and other data to it from the old one? And what can be the limitation of this procedure?
Also, there are so many posts covering upgrading Gitlab but not that old one, so thought of asking here for getting the right information/precaution for the upgrade!