Terry : Upgrade GitLab From 6.3 To 6.4

GitLab 6.4

v 6.4.0

  • Added sorting to project issues page (Jason Blanchard)
  • Assembla integration (Carlos Paramio)
  • Fixed another 500 error with submodules
  • UI: More compact issues page
  • Minimal password length increased to 8 symbols
  • Side-by-side diff view (Steven Thonus)
  • Internal projects (Jason Hollingsworth)
  • Allow removal of avatar (Drew Blessing)
  • Project web hooks now support issues and merge request events
  • Visiting project page while not logged in will redirect to sign-in instead of 404 (Jason Hollingsworth)
  • Expire event cache on avatar creation/removal (Drew Blessing)
  • Archiving old projects (Steven Thonus)
  • Rails 4
  • Add time ago tooltips to show actual date/time
  • UI: Fixed UI for admin system hooks
  • Ruby script for easier GitLab upgrade
  • Do not remove Merge requests if fork project was removed
  • Improve sign-in/signup UX
  • Add resend confirmation link to sign-in page
  • Set noreply@HOSTNAME for reply_to field in all emails
  • Show GitLab API version on Admin#dashboard
  • API Cross-origin resource sharing
  • Show READMe link at project home page
  • Show repo size for projects in Admin area

 v6.4.1

  •  Fixed bug with repository rename
  • Fixed bug with project transfer

 v6.4.2

  •  Fixed wrong behaviour of script/upgrade.rb

v6.4.3

  • Don't use unicorn worker killer if PhusionPassenger is defined

Upgrade Steps

0. Backup

cd /home/git/gitlab
sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production

1. Stop Server

sudo service gitlab stop

2. Get latest code

cd /home/git/gitlab
sudo -u git -H git fetch
sudo -u git -H git checkout 6-4-stable

3. Update gitlab-shell and its config

cd /home/git/gitlab-shell
sudo -u git -H git fetch
sudo -u git -H git checkout v1.8.0

4. Install libs, migrations, etc.

cd /home/git/gitlab

# MySQL
sudo -u git -H bundle install --without development test postgres --deployment

# PostgreSQL
sudo -u git -H bundle install --without development test mysql --deployment

# Run database migrations
sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production

# Clean up assets and cache
sudo -u git -H bundle exec rake assets:clean assets:precompile cache:clear RAILS_ENV=production

# Update init.d script
sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab

5. Start application

sudo service gitlab start
sudo service nginx restart 

6. Check application status

Check if GitLab and its environment are configured correctly

sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production

To make sure you didn't miss anything run a more thorough check with

sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production

If all items are green, then congratulations upgrade complete!

Reference

CHANGELOG