# From 2.6 to 3.0 *Make sure you view this [upgrade guide from the `master` branch](https://gitlab.com/gitlab-org/gitlab-ce/tree/master/doc/update/2.6-to-3.0.md) for the most up to date instructions.* ## 1. Stop server & resque sudo service gitlab stop ## 2. Update code & db ```bash # 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 git_host: # 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 https://github.com/gitlabhq/gitlabhq/pull/1719 # 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