Project

General

Profile

Support #452

Updating GitLab 7.1 to 7.2

Added by Daniel Curtis over 9 years ago. Updated about 9 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Source Code Management
Target version:
-
Start date:
09/07/2014
Due date:
% Done:

100%

Estimated time:
1.00 h
Spent time:

Description

This is a brief guide for upgrading GitLab 7.1 to the latest current version, 7.2.

Backup

  • Its good to back everything up, in case the upgrade fails:
    cd /home/git/gitlab
    sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production
    

Upgrade GitLab

  • Stop the GitLab server:
    sudo service gitlab stop
    
  • Get latest GitLab code:
    cd /home/git/gitlab
    sudo -u git -H git fetch --all
    
    • For GitLab Community Edition:
      sudo -u git -H git checkout 7-2-stable
      
  • Update gitlab-shell:
    cd /home/git/gitlab-shell
    sudo -u git -H git fetch
    sudo -u git -H git checkout v1.9.7
    

Install new system dependencies

  • The latest version of the 'rugged' gem requires pkg-config and cmake to build its native extensions:
    sudo apt-get install pkg-config cmake
    
  • Install libs, migrations, etc.:
    cd /home/git/gitlab
    
    1. For MySQL installations (note: the line below states '--without ... postgres')
      sudo -u git -H bundle install --without development test postgres --deployment
      
    2. For PostgreSQL installations (note: the line below states '--without ... mysql')
      sudo -u git -H bundle install --without development test mysql --deployment
      
    3. Run database migrations
      sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production
      
    4. Clean up assets and cache
      sudo -u git -H bundle exec rake assets:clean assets:precompile cache:clear RAILS_ENV=production
      
    5. Update init.d script
      sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
      

Update config files

New configuration options for gitlab.yml

  • There are new configuration options available for gitlab.yml. View them with the command below and apply them to your current gitlab.yml:
    git diff 7-1-stable:config/gitlab.yml.example 7-2-stable:config/gitlab.yml.example
    
  • Update rack attack middleware config
    sudo -u git -H cp config/initializers/rack_attack.rb.example config/initializers/rack_attack.rb
    

Restore GitLab service

  • Start application
    sudo service gitlab start
    sudo service nginx restart
    

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 is complete!

Update OmniAuth configuration

When using Google omniauth login, changes of the Google account required. Ensure that Contacts API and the Google+ API are enabled in the Google Developers Console. More details can be found at the integration documentation.

Things went south? Revert to previous version (7.1)

  1. Revert the code to the previous version
    Follow the upgrade guide from 7.0 to 7.1, except for the database migration (The backup is already migrated to the previous version)
  2. Restore from the backup:
    cd /home/git/gitlab
    sudo -u git -H bundle exec rake gitlab:backup:restore RAILS_ENV=production
    

Resources


Related issues

Copied to GNU/Linux Administration - Support #505: Updating GitLab To The Latest VersionClosedDaniel Curtis09/07/2014

Actions
#1

Updated by Daniel Curtis over 9 years ago

  • Description updated (diff)
  • Status changed from New to In Progress
#2

Updated by Daniel Curtis over 9 years ago

  • Status changed from In Progress to Resolved
#3

Updated by Daniel Curtis over 9 years ago

  • Description updated (diff)
  • Status changed from Resolved to Closed
  • % Done changed from 0 to 100
#4

Updated by Daniel Curtis over 9 years ago

  • Copied to Support #505: Updating GitLab To The Latest Version added
#5

Updated by Daniel Curtis about 9 years ago

  • Project changed from 98 to GNU/Linux Administration
  • Category set to Source Code Management

Also available in: Atom PDF