Terry : Upgrade GitLab From 5.1 To 5.2

GitLab 5.2

Important Improvements
  1. Forking
    You can a fork project into its own namespace now.
  2. Code search
    You search inside the project with a search bar on top panel.
  3. Turbolinks
    GitLab is much faster because almost all requests does not reload the page.
  4. Shared deploy keys
    You can use a deploy key for as many projects as you need and one project can use multiple keys.
Changes

New Features

  • Forks
  • Code search
  • Turbolinks
  • Shared Deploy keys
  • Advanced gfm autocomplete
  • Extra customization (google analytics, custom text on sign in page)

Security

  • Public projects are more accessible for authenticated users(issues, merge requests)
  • You can push to git-http with LDAP credentials

Fixed

  • Git submodules listing under Files tab
  • Commit page error if there is a huge diff

Upgrade Steps

1. Stop GitLab Server

sudo service gitlab stop

2. Get latest code

su git
cd /home/git/gitlab
git pull
git checkout 5-2-stable 

 3. Update gitlab-shell

su git
cd /home/git/gitlab-shell
git pull
git checkout v1.4.0

4. Install libs and do migration

cd /home/git/gitlab
su git
bundle install --without development test postgres --deployment
bundle exec rake db:migrate RAILS_ENV=production

5. Update the gitlab init script

# backup the old one
cp /etc/init.d/gitlab{,.5-1}
 
sudo rm /etc/init.d/gitlab
sudo wget --no-check-certificate -O gitlab https://raw.github.com/gitlabhq/gitlabhq/5-2-stable/lib/support/init.d/gitlab
sudo chmod +x /etc/init.d/gitlab

6. Update nginx config file

# backup old config file
cp /etc/nginx/sites-available/gitlab{,.5-1}
rm -f /etc/nginx/sites-available/gitlab
 
sudo wget --no-check-certificate -O /etc/nginx/sites-available https://raw.github.com/gitlabhq/gitlabhq/5-2-stable/lib/support/nginx/gitlab
sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab

7. Start GitLab

sudo service gitlab start

Reference

CHANGELOG https://github.com/gitlabhq/gitlabhq/blob/master/CHANGELOG