Currently Gitlab running with version 12.4.2 and need to upgrade to latest stable ver 16.x
Have 15 repositories . jenkins ci/cd scripted(groovy) pipeline jobs leverage for each repo respectively.
2 Options am thnking.
- Upgrade existing system
take backup
upgarde relsase 12.x to 13.x, then 14.x till 16.x both gitlab and postgres related chagnes if any
if any issues restore the backup or snapshot and try to fix - Bring up latest ver of Gitlab new System
a. Install Postgress supported ver and Gitlab 16x
b. Wrapper script for api call for this steps to get data from old gitlab and restore in new gitlab
b.1. Fetch user list and permission from old gitlab
b.2. Restore users and set permission in new gitlab
b.3. Create Tokens for all users - Script or manul way to clone from Gitlab UI 15 repositories from old Gitlab.
But not sure anything related to Postgress or other issues raises due to schema changes etc.
Since dirct upgrade is more complex and multiple version upgrade we may struck anytime is Postgress SQL Db and restore backupo snapshot and again try that…
Could anyone please suggest the best option is better?