5.4-to-6.0.md 3.74 KB
Newer Older
Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
1 2 3 4 5 6
# From 5.4 to 6.0

### Deprecations

#### Global projects

Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
7
The root (global) namespace for projects is deprecated.
8
So you need to move all your global projects under groups or users manually before update or they will be automatically moved to the project owner namespace during the update. When a project is moved all its members will receive an email with instructions how to update their git remote url. Please make sure you disable ssending email when you do a test of the upgrade.
Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
9 10 11

#### Teams

12
We introduce group membership in 6.0 as a replacement for teams.
Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
13 14 15 16 17 18 19 20 21 22 23 24 25 26
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
27
sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production
Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
28 29 30 31 32 33 34 35 36 37 38
```

### 1. Stop server

    sudo service gitlab stop

### 2. Get latest code

```bash
cd /home/git/gitlab
sudo -u git -H git fetch
lurdan's avatar
lurdan committed
39
sudo -u git -H git checkout 6-0-stable
Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
40 41
```

42 43 44 45 46 47 48 49 50
### 3. Update gitlab-shell

```bash
cd /home/git/gitlab-shell
sudo -u git -H git fetch
sudo -u git -H git checkout v1.7.0
```

### 4. Install additional packages
Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
51 52 53 54 55 56

```bash
# For reStructuredText markup language support install required package:
sudo apt-get install python-docutils
```

57
### 5. Install libs, migrations, etc.
Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
58 59 60 61 62 63 64

```bash
cd /home/git/gitlab

# MySQL
sudo -u git -H bundle install --without development test postgres --deployment

65
# PostgreSQL
Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
66 67 68 69 70 71 72
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
73
sudo -u git -H bundle exec rake gitlab:satellites:create RAILS_ENV=production
Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
74

75 76
# Clear redis cache
sudo -u git -H bundle exec rake cache:clear RAILS_ENV=production
77

78 79 80
# Clear and precompile assets
sudo -u git -H bundle exec rake assets:clean RAILS_ENV=production
sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production
Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
81 82
```

83
### 6. Update config files
Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
84

85 86 87 88
Note: We switched from Puma in GitLab 5.4 to unicorn in GitLab 6.0.

* 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.
Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
89

90
### 7. Update Init script
Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
91 92 93

```bash
sudo rm /etc/init.d/gitlab
94
sudo curl --output /etc/init.d/gitlab https://raw.github.com/gitlabhq/gitlabhq/master/lib/support/init.d/gitlab
Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
95 96 97
sudo chmod +x /etc/init.d/gitlab
```

98
### 8. Start application
Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
99 100 101 102

    sudo service gitlab start
    sudo service nginx restart

103
### 9. Check application status
Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
104 105 106 107 108 109 110 111 112 113

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!