Project

General

Profile

Support #505

Updating GitLab To The Latest Version

Added by Daniel Curtis about 10 years ago. Updated almost 10 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
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.4 to the latest current version, 7.6; however the upgrade process is generic enough that the process should work in future versions.

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-6-stable
      
  • Update gitlab-shell:
    cd /home/git/gitlab-shell
    sudo -u git -H git fetch
    sudo -u git -H git checkout v2.4.0
    

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
    
  • The 'timfel-krb5-auth' gem requires libkrb5-dev
    apt-get install libkrb5-dev
    
    • NOTE: I am running my GitLab instance on FreeBSD, so replace libkrb5-dev with krb5:
      pkg install krb5
      
  • 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-4-stable:config/gitlab.yml.example 7-6-stable:config/gitlab.yml.example
    

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.4)

  1. Revert the code to the previous version
    Follow the upgrade guide from 7.3 to 7.4, 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 from GNU/Linux Administration - Support #452: Updating GitLab 7.1 to 7.2ClosedDaniel Curtis09/07/2014

Actions
#1

Updated by Daniel Curtis about 10 years ago

  • Copied from Support #452: Updating GitLab 7.1 to 7.2 added
#2

Updated by Daniel Curtis about 10 years ago

  • Status changed from New to Resolved
#3

Updated by Daniel Curtis almost 10 years ago

  • Status changed from Resolved to Closed
  • % Done changed from 0 to 100

Also available in: Atom PDF