patch_versions.md 2.7 KB
Newer Older
1 2
# Universal update guide for patch versions

3 4 5 6 7
## Select Version to Install

Make sure you view [this update guide](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/update/patch_versions.md) from the tag (version) of GitLab you would like to install.
In most cases this should be the highest numbered production tag (without rc in it).
You can select the tag in the version dropdown in the top left corner of GitLab (below the menu bar).
8 9 10 11

### 0. Backup

It's useful to make a backup just in case things go south:
12 13
(With MySQL, this may require granting "LOCK TABLES" privileges to the GitLab
user on the database version)
14 15 16

```bash
cd /home/git/gitlab
17

18 19 20 21 22
sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production
```

### 1. Stop server

23 24 25
```bash
sudo service gitlab stop
```
26

D
dosire 已提交
27
### 2. Get latest code for the stable branch
28

29 30 31 32 33
In the commands below, replace `LATEST_TAG` with the latest GitLab tag you want
to update to, for example `v8.0.3`. Use `git tag -l 'v*.[0-9]' --sort='v:refname'`
to see a list of all tags. Make sure to update patch versions only (check your
current version with `cat VERSION`).

34 35
```bash
cd /home/git/gitlab
36

37
sudo -u git -H git fetch --all
38
sudo -u git -H git checkout -- Gemfile.lock db/schema.rb
39
sudo -u git -H git checkout LATEST_TAG -b LATEST_TAG
40 41
```

42
### 3. Install libs, migrations, etc.
43 44 45 46

```bash
cd /home/git/gitlab

47
# PostgreSQL
48
sudo -u git -H bundle install --without development test mysql --deployment
49

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

C
Christian Mehlmauer 已提交
53
# Optional: clean up old gems
54
sudo -u git -H bundle clean
C
Christian Mehlmauer 已提交
55 56

# Run database migrations
57
sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production
C
Christian Mehlmauer 已提交
58 59

# Clean up assets and cache
60
sudo -u git -H bundle exec rake yarn:install gitlab:assets:clean gitlab:assets:compile cache:clear RAILS_ENV=production
61 62
```

63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
### 4. Update gitlab-workhorse to the corresponding version

```bash
cd /home/git/gitlab

sudo -u git -H bundle exec rake "gitlab:workhorse:install[/home/git/gitlab-workhorse]" RAILS_ENV=production
```

### 5. Update gitlab-shell to the corresponding version

```bash
cd /home/git/gitlab-shell

sudo -u git -H git fetch --all --tags
sudo -u git -H git checkout v`cat /home/git/gitlab/GITLAB_SHELL_VERSION` -b v`cat /home/git/gitlab/GITLAB_SHELL_VERSION`
```

80
### 6. Start application
81

82 83 84 85
```bash
sudo service gitlab start
sudo service nginx restart
```
86

87
### 7. Check application status
88 89 90

Check if GitLab and its environment are configured correctly:

91
```bash
92 93
cd /home/git/gitlab

94 95
sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production
```
96 97 98

To make sure you didn't miss anything run a more thorough check with:

99 100 101
```bash
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
```
102 103

If all items are green, then congratulations upgrade complete!