summaryrefslogtreecommitdiff
path: root/doc/ci/update/patch_versions.md
blob: c13f69c03c9d202c4ab3233ea01c5aad5940e055 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# Universal update guide for patch versions. For example from 4.0.0 to 4.0.1, also see the [semantic versioning specification](http://semver.org/).

### 1. Stop CI server

    sudo service gitlab_ci stop

### 2. Switch to your gitlab_ci user

```
sudo su gitlab_ci
cd /home/gitlab_ci/gitlab-ci
```

### 3. Get latest code

```
git pull origin STABLE_BRANCH
```

### 4. Install libs, migrations etc

```
bundle install --without development test --deployment
bundle exec rake db:migrate RAILS_ENV=production
```

### 5. Start web application

    sudo service gitlab_ci start


# One line upgrade command

You have read through the entire guide and probably already did all the steps one by one.

Here is a one line command with all above steps for the next time you upgrade:

```
    sudo service gitlab_ci stop && \
      cd /home/gitlab_ci/gitlab-ci && \
      sudo -u gitlab_ci -H git pull origin `git rev-parse --abbrev-ref HEAD` && \
      sudo -u gitlab_ci -H bundle install --without development test --deployment && \
      sudo -u gitlab_ci -H bundle exec rake db:migrate RAILS_ENV=production && \
      cd && \
      sudo service gitlab_ci start
```

Since when we start this `gitlab_ci` service, the document `db/schema.rb` is shown always as modified for git, you could even do like this, **if and only if**, you are sure you only have that modification:

```
    sudo service gitlab_ci stop && \
      cd /home/gitlab_ci/gitlab-ci && \
      sudo -u gitlab_ci -H git checkout -f `git rev-parse --abbrev-ref HEAD` && \
      sudo -u gitlab_ci -H git pull origin `git rev-parse --abbrev-ref HEAD` && \
      sudo -u gitlab_ci -H bundle install --without development test --deployment && \
      sudo -u gitlab_ci -H bundle exec rake db:migrate RAILS_ENV=production && \
      cd && \
      sudo service gitlab_ci start
```