Create a script / Rake task to automate upgrading GitLab CE/EE (for HA, Geo)
For the Test no-downtime HA upgrades (including Geo) Epic, we're proposing to create a CI job to kick off testing the automatic HA, Geo upgrade. Said CI job will need to contain a series of steps with one being the automate updating GitLab CE/EE (for non-HA, HA, Geo).
The script should support specifying the version of GitLab to upgrade to to allow us to test stable and pre-release versions.
For HA https://docs.gitlab.com/omnibus/update/#multi-node--ha-deployment:
- Deploy node
sudo touch /etc/gitlab/skip-auto-reconfigure
sudo apt-get update && sudo apt-get install gitlab-ce
sudo yum install gitlab-ce
SKIP_POST_DEPLOYMENT_MIGRATIONS=true sudo gitlab-ctl reconfigure
- All other nodes
sudo apt-get update && sudo apt-get install gitlab-ce
sudo gitlab-ctl reconfigure
- Deploy node
sudo gitlab-rake db:migrate
- All other nodes
sudo gitlab-ctl hup unicorn
sudo gitlab-ctl hup sidekiq
For Geo
- Primary node
sudo touch /etc/gitlab/skip-auto-reconfigure
sudo apt-get update && sudo apt-get install gitlab-ee
- Secondary node(s)
sudo touch /etc/gitlab/skip-auto-reconfigure
sudo apt-get update && sudo apt-get install gitlab-ee
Edited by 🤖 GitLab Bot 🤖