From 3fcf9c58cc26ae1713f9f75dfaf635cebbbdb109 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20S=C3=89RIE?= Date: Mon, 23 Oct 2017 15:12:41 +0200 Subject: [PATCH] From 9.3.11 to 9.4.7 --- gitlab_upgrade_minor9.3.11_to_9.4.7.sh | 88 ++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 gitlab_upgrade_minor9.3.11_to_9.4.7.sh diff --git a/gitlab_upgrade_minor9.3.11_to_9.4.7.sh b/gitlab_upgrade_minor9.3.11_to_9.4.7.sh new file mode 100644 index 0000000..086d71a --- /dev/null +++ b/gitlab_upgrade_minor9.3.11_to_9.4.7.sh @@ -0,0 +1,88 @@ +#!/bin/bash +set -euo pipefail +IFS=$'\n\t' + +gitlabUser="$1" +gitlabVersion="9.4.7" + +cd /home/${gitlabUser}/gitlab + +# Install gitaly if not present. Mandatory for gitlab >=9.3 +if ! test -d "/home/${gitlabUser}/gitaly"; then + sudo -u $gitlabUser -H bundle exec rake "gitlab:gitaly:install[/home/$gitlabUser/gitaly]" RAILS_ENV=production + sudo -u $gitlabUser -H chmod 0700 /home/${gitlabUser}/gitlab/tmp/sockets/private + sudo -u $gitlabUser -H chown $gitlabUser /home/${gitlabUser}/gitlab/tmp/sockets/private + cd /home/${gitlabUser}/gitaly + sudo -u $gitlabUser -H cp config.toml{.example,} + sudo -u $gitlabUser -H sed -i "s#/home/git/#/home/${gitlabUser}/#g" config.toml +fi + +# Config file +cd /home/${gitlabUser}/gitlab +echo "Manual merge needed!! Press enter to continue." +read +vimdiff config/gitlab.yml <(git show origin/9-4-stable:config/gitlab.yml.example) + +# Do a backup +sudo -u $gitlabUser -H bundle exec rake gitlab:backup:create RAILS_ENV=production + +# Fix an annoying ruby bug +sudo -u $gitlabUser -H bundle exec gem install rainbow -v '2.2.2' + +# Fetch $gitlabVersion +sudo -u $gitlabUser -H git fetch --all +sudo -u $gitlabUser -H git checkout -- Gemfile.lock db/schema.rb +sudo -u $gitlabUser -H git checkout -B v${gitlabVersion} tags/v${gitlabVersion} +#sudo -u $gitlabUser -H git pull origin v${gitlabVersion} +sudo -u $gitlabUser -H sed -i -e s'/app_user="git"/app_user="'$gitlabUser'"/' \ + -e 's/# Provides: .*gitlab$/# Provides: '$gitlabUser'/' \ + lib/support/init.d/gitlab +sudo -u $gitlabUser -H sed -i 's#script_path = "/etc/init.d/gitlab"#script_path = "/etc/init.d/'$gitlabUser'"#g' \ + lib/tasks/gitlab/check.rake +install -m 755 /home/${gitlabUser}/gitlab/lib/support/init.d/gitlab /etc/init.d/${gitlabUser} +sudo -u $gitlabUser -H git commit -a --amend -m 'change default user' + +# gitlab-shell +cd /home/${gitlabUser}/gitlab-shell +sudo -u $gitlabUser -H git fetch --all +sudo -u $gitlabUser -H git checkout -B v$(