diff options
author | Jacob Vosmaer <contact@jacobvosmaer.nl> | 2013-11-25 13:55:09 +0100 |
---|---|---|
committer | Jacob Vosmaer <contact@jacobvosmaer.nl> | 2013-11-25 13:55:09 +0100 |
commit | b65129b685f333e4341d5d083ea561bcb57c1b68 (patch) | |
tree | 1acb3d4db55344fc29cd1a20a817b4c2a457938e /doc/update | |
parent | 66a5f753bb65e53b2e4a93b6d7b12ba8ea983f39 (diff) | |
download | gitlab-ce-b65129b685f333e4341d5d083ea561bcb57c1b68.tar.gz |
Add Ruby upgrade instructions
Diffstat (limited to 'doc/update')
-rw-r--r-- | doc/update/ruby.md | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/doc/update/ruby.md b/doc/update/ruby.md new file mode 100644 index 00000000000..5579a49e1c5 --- /dev/null +++ b/doc/update/ruby.md @@ -0,0 +1,53 @@ +# Updating Ruby from source + +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 . + +### 1. Look for Ruby versions +This guide will only update `/usr/local/bin/ruby`. You can see which Ruby binaries are installed on your system by running: + +```bash +ls -l $(which -a ruby) +``` + +### 2. Stop GitLab + +```bash +sudo service gitlab stop +``` + +### 3. Install or update dependencies +Here we are assuming you are using Debian/Ubuntu. + +```bash +sudo apt-get install build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl +``` + +### 4. Download, compile and install Ruby +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/). + +```bash +cd /tmp +curl --progress http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p353.tar.gz | tar xz +cd ruby-2.0.0-p353 +./configure --disable-install-rdoc +make +sudo make install # overwrite the existing Ruby in /usr/local/bin +``` + +### 5. Reinstall GitLab gem bundle +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). + +```bash +cd /home/git/gitlab +sudo -u git -H rm -rf vendor/bundle # remove existing Gem bundle +sudo -u git -H bundle install --deployment --without development test postgres aws # Assuming MySQL +``` + +### 6. Start GitLab +We are now ready to restart GitLab. + +```bash +sudo service gitlab start +``` + +### Done |