diff --git a/doc/update/5.4-to-6.0.md b/doc/update/5.4-to-6.0.md index be6fa98ae7a..cf52285c0ec 100644 --- a/doc/update/5.4-to-6.0.md +++ b/doc/update/5.4-to-6.0.md @@ -1,96 +1,96 @@ -# 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! +# 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!