Commit 6ea702db authored by Jacob Vosmaer's avatar Jacob Vosmaer

Merge branch 'master' of dev.gitlab.org:gitlab/gitlabhq

parents 18ecbc67 abda2dab
......@@ -2,7 +2,6 @@ v 7.2.0
- Explore page
- Add project stars (Ciro Santilli)
- Log Sidekiq arguments
- Fix cpu usage issue in Firefox
- Better labels: colors, ability to rename and remove
- Improve the way merge request collects diffs
- Improve compare page for large diffs
......@@ -12,6 +11,7 @@ v 7.2.0
- Test gitlab-shell integration
- Repository import timeout increased from 2 to 4 minutes allowing larger repos to be imported
- API for labels (Robert Schilling)
- API: ability to set an import url when creating project for specific user
v 7.1.1
- Fix cpu usage issue in Firefox
......
......@@ -8,11 +8,19 @@ paths_to_be_protected = [
"#{Rails.application.config.relative_url_root}/api/#{API::API.version}/session.json",
"#{Rails.application.config.relative_url_root}/api/#{API::API.version}/session",
"#{Rails.application.config.relative_url_root}/users",
"#{Rails.application.config.relative_url_root}/users/confirmation"
"#{Rails.application.config.relative_url_root}/users/confirmation",
"#{Rails.application.config.relative_url_root}/unsubscribes/"
]
# Create one big regular expression that matches strings starting with any of
# the paths_to_be_protected.
paths_regex = Regexp.union(paths_to_be_protected.map { |path| /\A#{Regexp.escape(path)}/ })
unless Rails.env.test?
Rack::Attack.throttle('protected paths', limit: 10, period: 60.seconds) do |req|
req.ip if paths_to_be_protected.include?(req.path) && req.post?
if req.post? && req.path =~ paths_regex
req.ip
end
end
end
......@@ -15,7 +15,9 @@ class MigrateTaggableLabels < ActiveRecord::Migration
def create_label_from_tagging(tagging)
target = tagging.taggable
label_name = tagging.tag.name.tr('?&,', '')
label_name = tagging.tag.name
# '?', '&' and ',' are no longer allowed in label names so we remove them
label_name.tr!('?&,', '')
label = target.project.labels.find_or_create_by(title: label_name, color: Label::DEFAULT_COLOR)
if label.valid? && LabelLink.create(label: label, target: target)
......
......@@ -55,13 +55,13 @@ You will either need to configure 512MB or 1.5GB of swap space.
With 512MB of swap space you must configure only one unicorn worker.
With one unicorn worker only git over ssh access will work because the git over http access requires two running workers (one worker to receive the user request and one worker for the authorization check).
If you use SSD storage and configure 1.5GB of swap space you can use two Unicorn workers, this will allow http access but it will still be slow.
- 1GB supports up to 100 users (we highly recommend adding al least 1GB of swap space, this is a must if you have individual repositories under 250MB)
- **2GB** is the **recommended** memory size and supports up to 500 users
- 4GB supports up to 2,000 users
- 8GB supports up to 5,000 users
- 16GB supports up to 10,000 users
- 32GB supports up to 20,000 users
- 64GB supports up to 40,000 users
- 1GB RAM + 1GB swap supports up to 100 users
- **2GB RAM** is the **recommended** memory size and supports up to 500 users
- 4GB RAM supports up to 2,000 users
- 8GB RAM supports up to 5,000 users
- 16GB RAM supports up to 10,000 users
- 32GB RAM supports up to 20,000 users
- 64GB RAM supports up to 40,000 users
Notice: The 25 workers of Sidekiq will show up as separate processes in your process overview (such as top or htop) but they share the same RAM allocation since Sidekiq is a multithreaded application.
......
......@@ -93,7 +93,7 @@ If all items are green, then congratulations upgrade complete!
### 1. Revert the code to the previous version
Follow the [`upgrade guide from 5.0 to 5.1`](5.0-to-5.1.md), except for the database migration (the backup is already migrated to the previous version).
Follow the [upgrade guide from 5.0 to 5.1](5.0-to-5.1.md), except for the database migration (the backup is already migrated to the previous version).
### 2. Restore from the backup
......
......@@ -89,7 +89,7 @@ If all items are green, then congratulations upgrade complete!
### 1. Revert the code to the previous version
Follow the [`upgrade guide from 5.2 to 5.3`](5.2-to-5.3.md), except for the database migration (the backup is already migrated to the previous version).
Follow the [upgrade guide from 5.2 to 5.3](5.2-to-5.3.md), except for the database migration (the backup is already migrated to the previous version).
### 2. Restore from the backup:
......
......@@ -139,7 +139,7 @@ If all items are green, then congratulations upgrade complete!
### 1. Revert the code to the previous version
Follow the [`upgrade guide from 5.0 to 5.1`](5.0-to-5.1.md), except for the database migration (the backup is already migrated to the previous version).
Follow the [upgrade guide from 5.0 to 5.1](5.0-to-5.1.md), except for the database migration (the backup is already migrated to the previous version).
### 2. Restore from the backup:
......
......@@ -75,7 +75,7 @@ If all items are green, then congratulations upgrade complete!
### 1. Revert the code to the previous version
Follow the [`upgrade guide from 5.1 to 5.2`](5.1-to-5.2.md), except for the database migration (the backup is already migrated to the previous version).
Follow the [upgrade guide from 5.1 to 5.2](5.1-to-5.2.md), except for the database migration (the backup is already migrated to the previous version).
### 2. Restore from the backup:
......
......@@ -79,7 +79,7 @@ If all items are green, then congratulations upgrade complete!
### 1. Revert the code to the previous version
Follow the [`upgrade guide from 5.2 to 5.3`](5.2-to-5.3.md), except for the database migration (the backup is already migrated to the previous version).
Follow the [upgrade guide from 5.2 to 5.3](5.2-to-5.3.md), except for the database migration (the backup is already migrated to the previous version).
### 2. Restore from the backup:
......
......@@ -98,7 +98,7 @@ If all items are green, then congratulations upgrade complete!
### 1. Revert the code to the previous version
Follow the [`upgrade guide from 5.4 to 6.0`](5.4-to-6.0.md), except for the database migration (the backup is already migrated to the previous version).
Follow the [upgrade guide from 5.4 to 6.0](5.4-to-6.0.md), except for the database migration (the backup is already migrated to the previous version).
### 2. Restore from the backup:
......
......@@ -22,7 +22,39 @@ sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production
sudo service gitlab stop
## 2. Get latest code
## 2. Update Ruby
If you are still using Ruby 1.9.3 or below, you will need to update Ruby.
You can check which version you are running with `ruby -v`.
If you are you running Ruby 2.0.x, you do not need to upgrade ruby, but can consider doing so for performance reasons.
If you are running Ruby 2.1.1 consider upgrading to 2.1.2, because of the high memory usage of Ruby 2.1.1.
Install, update dependencies:
```bash
sudo apt-get install build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl
```
Download and compile Ruby:
```bash
mkdir /tmp/ruby && cd /tmp/ruby
curl --progress ftp://ftp.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.gz | tar xz
cd ruby-2.1.2
./configure --disable-install-rdoc
make
sudo make install
```
Install Bundler:
```bash
sudo gem install bundler --no-ri --no-rdoc
```
## 3. Get latest code
```bash
cd /home/git/gitlab
......@@ -44,14 +76,14 @@ sudo -u git -H git checkout 7-1-stable-ee
```
## 3. Install additional packages
## 4. Install additional packages
```bash
# Add support for lograte for better log file handling
sudo apt-get install logrotate
```
## 4. Update gitlab-shell
## 5. Update gitlab-shell
```bash
cd /home/git/gitlab-shell
......@@ -59,7 +91,7 @@ sudo -u git -H git fetch
sudo -u git -H git checkout v1.9.6 # Addresses multiple critical security vulnerabilities
```
## 5. Install libs, migrations, etc.
## 6. Install libs, migrations, etc.
```bash
cd /home/git/gitlab
......@@ -84,7 +116,7 @@ sudo -u git -H bundle exec rake assets:clean assets:precompile cache:clear RAILS
sudo chmod u+rwx,g+rx,o-rwx /home/git/gitlab-satellites
```
## 6. Update config files
## 7. Update config files
TIP: to see what changed in gitlab.yml.example in this release use next command:
......@@ -94,6 +126,7 @@ git diff 6-0-stable:config/gitlab.yml.example 7-1-stable:config/gitlab.yml.examp
* Make `/home/git/gitlab/config/gitlab.yml` the same as https://gitlab.com/gitlab-org/gitlab-ce/blob/7-1-stable/config/gitlab.yml.example but with your settings.
* Make `/home/git/gitlab/config/unicorn.rb` the same as https://gitlab.com/gitlab-org/gitlab-ce/blob/7-1-stable/config/unicorn.rb.example but with your settings.
* Make `/home/git/gitlab-shell/config.yml` the same as https://gitlab.com/gitlab-org/gitlab-shell/blob/v1.9.6/config.yml.example but with your settings.
* Make `/etc/nginx/sites-available/nginx` the same as https://gitlab.com/gitlab-org/gitlab-ce/blob/7-1-stable/lib/support/nginx/gitlab but with your settings.
* Copy rack attack middleware config
......@@ -107,18 +140,18 @@ sudo -u git -H cp config/initializers/rack_attack.rb.example config/initializers
sudo cp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab
```
## 7. Update Init script
## 8. Update Init script
```bash
sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
```
## 8. Start application
## 9. Start application
sudo service gitlab start
sudo service nginx restart
## 9. Check application status
## 10. Check application status
Check if GitLab and its environment are configured correctly:
......@@ -135,7 +168,7 @@ If all items are green, then congratulations upgrade complete!
### 1. Revert the code to the previous version
Follow the [`upgrade guide from 5.4 to 6.0`](5.4-to-6.0.md), except for the database migration (the backup is already migrated to the previous version).
Follow the [upgrade guide from 5.4 to 6.0](5.4-to-6.0.md), except for the database migration (the backup is already migrated to the previous version).
### 2. Restore from the backup:
......
......@@ -6,6 +6,13 @@
As of 6.1 issue numbers are project specific. This means all issues are renumbered and get a new number in their URL. If you use an old issue number URL and the issue number does not exist yet you are redirected to the new one. This conversion does not trigger if the old number already exists for this project, this is unlikely but will happen with old issues and large projects.
## Editable labels
In GitLab 7.2 we replace Issue and Merge Request tags with labels, making it
possible to edit the label text and color. The characters '?', '&' and ',' are
no longer allowed however so those will be removed from your tags during the
database migrations for GitLab 7.2.
## 0. Backup
It's useful to make a backup just in case things go south:
......@@ -20,7 +27,39 @@ sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production
sudo service gitlab stop
## 2. Get latest code
## 2. Update Ruby
If you are still using Ruby 1.9.3 or below, you will need to update Ruby.
You can check which version you are running with `ruby -v`.
If you are you running Ruby 2.0.x, you do not need to upgrade ruby, but can consider doing so for performance reasons.
If you are running Ruby 2.1.1 consider upgrading to 2.1.2, because of the high memory usage of Ruby 2.1.1.
Install, update dependencies:
```bash
sudo apt-get install build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl
```
Download and compile Ruby:
```bash
mkdir /tmp/ruby && cd /tmp/ruby
curl --progress ftp://ftp.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.gz | tar xz
cd ruby-2.1.2
./configure --disable-install-rdoc
make
sudo make install
```
Install Bundler:
```bash
sudo gem install bundler --no-ri --no-rdoc
```
## 3. Get latest code
```bash
cd /home/git/gitlab
......@@ -42,14 +81,17 @@ sudo -u git -H git checkout 7-2-stable-ee
```
## 3. Install additional packages
## 4. Install additional packages
```bash
# Add support for lograte for better log file handling
sudo apt-get install logrotate
# Install cmake, which is needed for the latest versions of rugged
sudo apt-get install cmake
```
## 4. Update gitlab-shell
## 5. Update gitlab-shell
```bash
cd /home/git/gitlab-shell
......@@ -57,7 +99,7 @@ sudo -u git -H git fetch
sudo -u git -H git checkout v1.9.7
```
## 5. Install libs, migrations, etc.
## 6. Install libs, migrations, etc.
```bash
cd /home/git/gitlab
......@@ -82,7 +124,7 @@ sudo -u git -H bundle exec rake assets:clean assets:precompile cache:clear RAILS
sudo chmod u+rwx,g+rx,o-rwx /home/git/gitlab-satellites
```
## 6. Update config files
## 7. Update config files
TIP: to see what changed in gitlab.yml.example in this release use next command:
......@@ -92,6 +134,7 @@ git diff 6-0-stable:config/gitlab.yml.example 7-2-stable:config/gitlab.yml.examp
* Make `/home/git/gitlab/config/gitlab.yml` the same as https://gitlab.com/gitlab-org/gitlab-ce/blob/7-2-stable/config/gitlab.yml.example but with your settings.
* Make `/home/git/gitlab/config/unicorn.rb` the same as https://gitlab.com/gitlab-org/gitlab-ce/blob/7-2-stable/config/unicorn.rb.example but with your settings.
* Make `/home/git/gitlab-shell/config.yml` the same as https://gitlab.com/gitlab-org/gitlab-shell/blob/v1.9.7/config.yml.example but with your settings.
* Make `/etc/nginx/sites-available/nginx` the same as https://gitlab.com/gitlab-org/gitlab-ce/blob/7-2-stable/lib/support/nginx/gitlab but with your settings.
* Copy rack attack middleware config
......@@ -105,18 +148,18 @@ sudo -u git -H cp config/initializers/rack_attack.rb.example config/initializers
sudo cp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab
```
## 7. Update Init script
## 8. Update Init script
```bash
sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
```
## 8. Start application
## 9. Start application
sudo service gitlab start
sudo service nginx restart
## 9. Check application status
## 10. Check application status
Check if GitLab and its environment are configured correctly:
......@@ -129,7 +172,7 @@ To make sure you didn't miss anything run a more thorough check with:
If all items are green, then congratulations upgrade complete!
## 10. Update OmniAuth configuration
## 11. 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](https://console.developers.google.com/).
......@@ -139,7 +182,7 @@ More details can be found at the [integration documentation](https://gitlab.com/
### 1. Revert the code to the previous version
Follow the [`upgrade guide from 5.4 to 6.0`](5.4-to-6.0.md), except for the database migration (the backup is already migrated to the previous version).
Follow the [upgrade guide from 5.4 to 6.0](5.4-to-6.0.md), except for the database migration (the backup is already migrated to the previous version).
### 2. Restore from the backup:
......
......@@ -112,7 +112,7 @@ If all items are green, then congratulations upgrade complete!
### 1. Revert the code to the previous version
Follow the [`upgrade guide from 6.0 to 6.1`](6.0-to-6.1.md), except for the database migration (the backup is already migrated to the previous version).
Follow the [upgrade guide from 6.0 to 6.1](6.0-to-6.1.md), except for the database migration (the backup is already migrated to the previous version).
### 2. Restore from the backup:
......
......@@ -98,7 +98,7 @@ If all items are green, then congratulations upgrade complete!
### 1. Revert the code to the previous version
Follow the [`upgrade guide from 6.1 to 6.2`](6.1-to-6.2.md), except for the database migration (the backup is already migrated to the previous version).
Follow the [upgrade guide from 6.1 to 6.2](6.1-to-6.2.md), except for the database migration (the backup is already migrated to the previous version).
### 2. Restore from the backup:
......
......@@ -79,7 +79,7 @@ If all items are green, then congratulations upgrade complete!
### 1. Revert the code to the previous version
Follow the [`upgrade guide from 6.2 to 6.3`](6.2-to-6.3.md), except for the database migration (the backup is already migrated to the previous version).
Follow the [upgrade guide from 6.2 to 6.3](6.2-to-6.3.md), except for the database migration (the backup is already migrated to the previous version).
### 2. Restore from the backup:
......
......@@ -83,7 +83,7 @@ If all items are green, then congratulations upgrade is complete!
### 1. Revert the code to the previous version
Follow the [`upgrade guide from 6.3 to 6.4`](6.3-to-6.4.md), except for the database migration (the backup is already migrated to the previous version).
Follow the [upgrade guide from 6.3 to 6.4](6.3-to-6.4.md), except for the database migration (the backup is already migrated to the previous version).
### 2. Restore from the backup
......
......@@ -83,7 +83,7 @@ If all items are green, then congratulations upgrade is complete!
### 1. Revert the code to the previous version
Follow the [`upgrade guide from 6.4 to 6.5`](6.4-to-6.5.md), except for the database migration
Follow the [upgrade guide from 6.4 to 6.5](6.4-to-6.5.md), except for the database migration
(The backup is already migrated to the previous version)
### 2. Restore from the backup:
......
......@@ -93,7 +93,7 @@ If all items are green, then congratulations upgrade is complete!
### 1. Revert the code to the previous version
Follow the [`upgrade guide from 6.5 to 6.6`](6.5-to-6.6.md), except for the database migration (the backup is already migrated to the previous version).
Follow the [upgrade guide from 6.5 to 6.6](6.5-to-6.6.md), except for the database migration (the backup is already migrated to the previous version).
### 2. Restore from the backup
......
......@@ -111,7 +111,7 @@ If all items are green, then congratulations upgrade is complete!
### 1. Revert the code to the previous version
Follow the [`upgrade guide from 6.6 to 6.7`](6.6-to-6.7.md), except for the database migration (the backup is already migrated to the previous version).
Follow the [upgrade guide from 6.6 to 6.7](6.6-to-6.7.md), except for the database migration (the backup is already migrated to the previous version).
### 2. Restore from the backup
......
......@@ -90,7 +90,7 @@ If all items are green, then congratulations upgrade is complete!
## Things went south? Revert to previous version (6.8)
### 1. Revert the code to the previous version
Follow the [`upgrade guide from 6.7 to 6.8`](6.7-to-6.8.md), except for the database migration
Follow the [upgrade guide from 6.7 to 6.8](6.7-to-6.8.md), except for the database migration
(The backup is already migrated to the previous version)
### 2. Restore from the backup:
......
......@@ -126,7 +126,7 @@ If all items are green, then congratulations upgrade is complete!
## Things went south? Revert to previous version (6.9)
### 1. Revert the code to the previous version
Follow the [`upgrade guide from 6.8 to 6.9`](6.8-to-6.9.md), except for the database migration
Follow the [upgrade guide from 6.8 to 6.9](6.8-to-6.9.md), except for the database migration
(The backup is already migrated to the previous version)
### 2. Restore from the backup:
......
......@@ -126,7 +126,7 @@ If all items are green, then congratulations upgrade is complete!
## Things went south? Revert to previous version (7.0)
### 1. Revert the code to the previous version
Follow the [`upgrade guide from 6.9 to 7.0`](6.9-to-7.0.md), except for the database migration
Follow the [upgrade guide from 6.9 to 7.0](6.9-to-7.0.md), except for the database migration
(The backup is already migrated to the previous version)
### 2. Restore from the backup:
......
# From 7.1 to 7.2
## Editable labels
In GitLab 7.2 we replace Issue and Merge Request tags with labels, making it
possible to edit the label text and color. The characters '?', '&' and ',' are
no longer allowed however so those will be removed from your tags during the
database migrations for GitLab 7.2.
### 0. Backup
```bash
......@@ -42,7 +49,16 @@ sudo -u git -H git fetch
sudo -u git -H git checkout v1.9.7
```
### 4. Install libs, migrations, etc.
### 4. Install new system dependencies
The latest version of the 'rugged' gem requires cmake to build its native
extensions.
```bash
sudo apt-get install cmake
```
### 5. Install libs, migrations, etc.
```bash
cd /home/git/gitlab
......@@ -64,7 +80,7 @@ sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
sudo chmod +x /etc/init.d/gitlab
```
### 5. Update config files
### 6. Update config files
#### New configuration options for gitlab.yml
......@@ -74,12 +90,12 @@ There are new configuration options available for gitlab.yml. View them with the
git diff 7-1-stable:config/gitlab.yml.example 7-2-stable:config/gitlab.yml.example
```
### 6. Start application
### 7. Start application
sudo service gitlab start
sudo service nginx restart
### 7. Check application status
### 8. Check application status
Check if GitLab and its environment are configured correctly:
......@@ -91,7 +107,7 @@ To make sure you didn't miss anything run a more thorough check with:
If all items are green, then congratulations upgrade is complete!
### 8. Update OmniAuth configuration
### 9. 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](https://console.developers.google.com/).
......@@ -100,7 +116,7 @@ More details can be found at the [integration documentation](../integration/goog
## 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`](7.0-to-7.1.md), except for the database migration
Follow the [upgrade guide from 7.0 to 7.1](7.0-to-7.1.md), except for the database migration
(The backup is already migrated to the previous version)
### 2. Restore from the backup:
......
......@@ -68,6 +68,7 @@ test -e /opt/gitlab/embedded/service/gitlab-rails/db/schema.rb.bundled || sudo /
```
## Converting a GitLab backup file from MySQL to Postgres
**Note:** Please make sure to have Python 2.7.x (or higher) installed.
GitLab backup files (<timestamp>_gitlab_backup.tar) contain a SQL dump. Using the lanyrd database converter we can replace a MySQL database dump inside the tar file with a Postgres database dump. This can be useful if you are moving to another server.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment