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 |