Upgrade Plan: 14.8.6 -> 15.7.0
Phase 1
14.8.6 to 14.9.5
Pre-Upgrade Checks and Tasks
-
Review the version-specific upgrade notes for 14.9.0 - See these docs
-
Run the post-upgrade checks in this doc -
Ensure that gitlab-ctl reconfigure
exits cleanly -
Ensure that you have a working sudo
API token readily availablecurl --request GET --url https://gitlab.brie.dev/api/v4/users --header 'PRIVATE-TOKEN: '
-
Perform a backup gitlab-backup create
-
Copy contents of current gitlab.rb
and/etc/gitlab/gitlab-secrets.json
to another host/S3 bucket, record the location -
Verify the contents of the backup file in S3 bucket tar tf
-
gitlab-rake db:migrate:status
Upgrade Plan
-
Turn on maintenance mode
::Gitlab::CurrentSettings.update!(maintenance_mode: true)
::Gitlab::CurrentSettings.update!(maintenance_mode_message: "GitLab is being upgraded.")
-
Install the newer version of GitLab: apt-get install gitlab-ee=14.9.5-ee.0
-
Observe that the command above exits successfully or address any errors that come up
Verification and Post-Upgrade Checks and Tasks
-
Run the post-upgrade checks in this doc -
The root
user can log in -
Turn Maintenance Mode off -
Other users can log in -
Ensure users can log in with local passwords -
Ensure users can log in via LDAP
-
-
Projects can be cloned (choose a few, different groups) -
Commits can be pushed -
The output of gitlab-rake gitlab:check
looks good -
The output of gitlab-rake gitlab:env:info
looks good -
Hand off to developers for further testing. -
Deploy new GitLab Runners, test, decommission old Runners
::Gitlab::CurrentSettings.update!(maintenance_mode: false)
Rollback Plan
The rollback plan involves:
- deploying a new Google Cloud Compute instance (as necessary)
- restoring the
gitlab.rb
andgitlab-secrets.json
, other useful contents in/etc
and GitLab application backup that was taken and transferred - verifying the functionality by performing the Pre-Upgrade Checks and Tasks
- updating the DNS record for
gitlab.brie.dev
to point to the new instance once the new GitLab server is up and running
Phase 2
14.9.5 to 14.10.5
Phase 3
14.10.5 to 15.0.5
Phase 4
15.0.5 to 15.4.6
Phase 5
15.4.6 to 15.7.0
🔖 Useful Links
- Upgrade Path tool
- Docs: Upgrade Paths
Edited by Brie Carranza