- First and foremost are the improved groups
From now on a group is not just a directory for projects. It also allows you to add users. After user is added to group – it automatically get access to all existing and new projects inside group. You can also have have multiple owners for a group who can manage members/projects. With this GitLab becomes more group oriented. That is why we no longer support global namespaces. Project can be part of group or user only.
- Merge requests are now possible between a fork and the original project
Another nice improvement comes from contributor Izaak Alpert. It allows you to use different workflow depending on your needs.
- Now you can create or remove both git branches and tags with the GitLab UI
It gives you ability to work with the web ui only. For example to create branch, fix something with the web editor and submit a Merge Request.
- Also we polished our UI and made a lot of bug fixes
Under the hood we refactored a lot of stuff and improved the performance. And one last piece of good news. The upgrade to 6.0 is not so complicated as it used to be for major versions. The only big change is that all projects must be part of a group or user. A bit of preparations, few commands – and you are running GitLab 6.
- Unicorn is default web server again
Switched from Puma back to Unicorn again. As Puma causes 100% CPU and memory leak when running multi-thread mode where concurrency is high (because of MRI, should be using JRuby or Rubynius according to this => commit).
Backup saves lives.
NOTE: With MySQL, this may require granting "LOCK TABLES" privileges to the GitLab user on the database version.
1. Stop the server
2. Get the latest code for GitLab
3. Update GitLab Shell
NOTE: DO NOT forget to check config.yml to make sure the FQDN is correct.
4. Install Additional Packages
5. Install libs, migrations, etc.
6. Update config files
Note: In GitLab 6, the default web server switched to Unicorn from Puma.
- Make /home/git/gitlab/config/gitlab.yml the same as https://github.com/gitlabhq/gitlabhq/blob/master/config/gitlab.yml.example but with your settings.
- Make /home/git/gitlab/config/unicorn.rb the same as https://github.com/gitlabhq/gitlabhq/blob/master/config/unicorn.rb.example but with your settings.
7. Update init script
8. Update Nginx Configuration File
IMPORTANT: add nginx user to the git group to give it access to assets under /home/git/gitlab/public. For Ubuntu Server, for this instance Ubuntu Server uses www-data instead of nginx. Otherwise assets (PNG, CSS files cannot be loaded due to permission denied error).
Refer to GitLab Recipes.
9. Start GitLab
10. Check Application Status
Check if GitLab and its environment are configured correctly
To make sure you didn't miss anything run a more thorough check with
If all items are green, then congratulations upgrade complete!