Commit b65129b685f333e4341d5d083ea561bcb57c1b68
1 parent
66a5f753
Exists in
master
and in
4 other branches
Add Ruby upgrade instructions
Showing
1 changed file
with
53 additions
and
0 deletions
Show diff stats
@@ -0,0 +1,53 @@ | @@ -0,0 +1,53 @@ | ||
1 | +# Updating Ruby from source | ||
2 | + | ||
3 | +This guide explains how to update Ruby in case you installed it from source according to the instructions in https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md#2-ruby . | ||
4 | + | ||
5 | +### 1. Look for Ruby versions | ||
6 | +This guide will only update `/usr/local/bin/ruby`. You can see which Ruby binaries are installed on your system by running: | ||
7 | + | ||
8 | +```bash | ||
9 | +ls -l $(which -a ruby) | ||
10 | +``` | ||
11 | + | ||
12 | +### 2. Stop GitLab | ||
13 | + | ||
14 | +```bash | ||
15 | +sudo service gitlab stop | ||
16 | +``` | ||
17 | + | ||
18 | +### 3. Install or update dependencies | ||
19 | +Here we are assuming you are using Debian/Ubuntu. | ||
20 | + | ||
21 | +```bash | ||
22 | +sudo apt-get install build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl | ||
23 | +``` | ||
24 | + | ||
25 | +### 4. Download, compile and install Ruby | ||
26 | +Pick a Ruby version at https://www.ruby-lang.org/en/downloads/ . Here we use Ruby 2.0.0p353, which is patched against [CVE-2013-4164](https://www.ruby-lang.org/en/news/2013/11/22/heap-overflow-in-floating-point-parsing-cve-2013-4164/). | ||
27 | + | ||
28 | +```bash | ||
29 | +cd /tmp | ||
30 | +curl --progress http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p353.tar.gz | tar xz | ||
31 | +cd ruby-2.0.0-p353 | ||
32 | +./configure --disable-install-rdoc | ||
33 | +make | ||
34 | +sudo make install # overwrite the existing Ruby in /usr/local/bin | ||
35 | +``` | ||
36 | + | ||
37 | +### 5. Reinstall GitLab gem bundle | ||
38 | +Just to be sure we will reinstall the gems used by GitLab. Note that the `bundle install` command [depends on your choice of database](https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md#install-gems). | ||
39 | + | ||
40 | +```bash | ||
41 | +cd /home/git/gitlab | ||
42 | +sudo -u git -H rm -rf vendor/bundle # remove existing Gem bundle | ||
43 | +sudo -u git -H bundle install --deployment --without development test postgres aws # Assuming MySQL | ||
44 | +``` | ||
45 | + | ||
46 | +### 6. Start GitLab | ||
47 | +We are now ready to restart GitLab. | ||
48 | + | ||
49 | +```bash | ||
50 | +sudo service gitlab start | ||
51 | +``` | ||
52 | + | ||
53 | +### Done |