# From 5.4 to 6.0 ### Deprecations #### Global projects We deprecated root(global) namespace for projects. So you need to move all your global projects under group/users manually before update or it will be moved automatically to owner namespace during update. #### Teams We deprecate teams as separate entity in 6.0 in favor of group membership. The old combination of groups and teams was confusing for a lot of people. And when the members of a team where changed this wasn't reflected in the project permissions. In GitLab 6.0 you will be able to add members to a group with a permission level for each member. These group members will have access to the projects in that group. Any changes to group members will immediately be reflected in the project permissions. You can even have multiple owners for a group, greatly simplifying administration. ### 0. Backup It's useful to make a backup just in case things go south: (With MySQL, this may require granting "LOCK TABLES" privileges to the GitLab user on the database version) ```bash cd /home/git/gitlab sudo -u git -H RAILS_ENV=production bundle exec rake gitlab:backup:create ``` ### 1. Stop server sudo service gitlab stop ### 2. Get latest code ```bash cd /home/git/gitlab sudo -u git -H git fetch sudo -u git -H git checkout 6-0-dev ``` ### 3. Install additional packages ```bash # For reStructuredText markup language support install required package: sudo apt-get install python-docutils ``` ### 4. Install libs, migrations, etc. ```bash cd /home/git/gitlab # MySQL sudo -u git -H bundle install --without development test postgres --deployment #PostgreSQL sudo -u git -H bundle install --without development test mysql --deployment sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production sudo -u git -H bundle exec rake migrate_groups RAILS_ENV=production sudo -u git -H bundle exec rake migrate_global_projects RAILS_ENV=production sudo -u git -H bundle exec rake migrate_keys RAILS_ENV=production sudo -u git -H bundle exec rake migrate_inline_notes RAILS_ENV=production ``` ### 5. Update config files * Make `/home/git/gitlab/config/gitlab.yml` same as https://github.com/gitlabhq/gitlabhq/blob/5-3-stable/config/gitlab.yml.example but with your settings. * Make `/home/git/gitlab/config/puma.rb` same as https://github.com/gitlabhq/gitlabhq/blob/5-3-stable/config/puma.rb.example but with your settings. ### 6. Update Init script ```bash sudo rm /etc/init.d/gitlab sudo curl --output /etc/init.d/gitlab https://raw.github.com/gitlabhq/gitlabhq/5-3-stable/lib/support/init.d/gitlab sudo chmod +x /etc/init.d/gitlab ``` ### 7. Start application sudo service gitlab start sudo service nginx restart ### 8. 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 complete!