GitLab Documentation

From 2.6 to 3.0

From 2.6 to 3.0

Make sure you view this upgrade guide from the master branch for the most up to date instructions.

1. Stop server & resque

sudo service gitlab stop

2. Update code & db

# Get latest code
git fetch origin
git checkout v3.0.3

# The Modernizr gem was yanked from RubyGems. It is required for GitLab >= 2.8.0
# Edit `Gemfile` and change `gem "modernizr", "2.5.3"` to
# `gem "modernizr-rails", "2.7.1"``
sudo -u gitlab -H vim Gemfile

# Install libs
sudo -u gitlab bundle install --without development test postgres

# update db
sudo -u gitlab bundle exec rake db:migrate RAILS_ENV=production

# !!! Config should be replaced with a new one. Check it after replace
cp config/gitlab.yml.example config/gitlab.yml

# update Gitolite hooks

# Gitolite v2:
sudo cp ./lib/hooks/post-receive /home/git/share/gitolite/hooks/common/post-receive
sudo chown git:git /home/git/share/gitolite/hooks/common/post-receive

# Gitolite v3:
sudo cp ./lib/hooks/post-receive /home/git/.gitolite/hooks/common/post-receive
sudo chown git:git /home/git/.gitolite/hooks/common/post-receive

# set valid path to hooks in gitlab.yml in git_host section
# like this
  # Gitolite 2
  hooks_path: /home/git/share/gitolite/hooks
  # Gitolite 3
  hooks_path: /home/git/.gitolite/hooks/

# Make some changes to Gitolite config
# For more information visit

# Gitolite v2
sudo -u git -H sed -i 's/\(GL_GITCONFIG_KEYS\s*=>*\s*\).\{2\}/\\1"\.\*"/g' /home/git/.gitolite.rc

# gitlite v3
sudo -u git -H sed -i "s/\(GIT_CONFIG_KEYS\s*=>*\s*\).\{2\}/\\1'\.\*'/g" /home/git/.gitolite.rc

# Check app status
sudo -u gitlab bundle exec rake gitlab:app:status RAILS_ENV=production

3. Start all

sudo service gitlab start