Commit 862141a0 authored by Alfredo Sumaran's avatar Alfredo Sumaran Committed by Felipe Artur

Merge branch 'fix-8.17-upgrade-process' into 'master'

Fix 8.17 upgrade documentation

Closes #28021

See merge request !9285
parent 1f12aaf2
......@@ -39,6 +39,7 @@ The GitLab installation consists of setting up the following components:
1. Packages / Dependencies
1. Ruby
1. Go
1. Node
1. System Users
1. Database
1. Redis
......@@ -63,7 +64,7 @@ up-to-date and install it.
Install the required packages (needed to compile Ruby and native extensions to Ruby gems):
sudo apt-get install -y build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl openssh-server checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev logrotate python-docutils pkg-config cmake nodejs
sudo apt-get install -y build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl openssh-server checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev logrotate python-docutils pkg-config cmake
If you want to use Kerberos for user authentication, then install libkrb5-dev:
......@@ -151,13 +152,26 @@ page](https://golang.org/dl).
sudo ln -sf /usr/local/go/bin/{go,godoc,gofmt} /usr/local/bin/
rm go1.5.3.linux-amd64.tar.gz
## 4. System Users
## 4. Node
Since GitLab 8.17, GitLab requires the use of node >= v4.3.0 to compile
javascript assets. In many distros the version provided by the official package
repositories is out of date, so we'll need to install through the following
commands:
# install node v7.x
curl --location https://deb.nodesource.com/setup_7.x | bash -
sudo apt-get install -y nodejs
Visit the official website for [node](https://nodejs.org/en/download/package-manager/) if you have any trouble with this step.
## 5. System Users
Create a `git` user for GitLab:
sudo adduser --disabled-login --gecos 'GitLab' git
## 5. Database
## 6. Database
We recommend using a PostgreSQL database. For MySQL check the
[MySQL setup guide](database_mysql.md).
......@@ -218,7 +232,7 @@ We recommend using a PostgreSQL database. For MySQL check the
gitlabhq_production> \q
```
## 6. Redis
## 7. Redis
GitLab requires at least Redis 2.8.
......@@ -263,7 +277,7 @@ sudo service redis-server restart
sudo usermod -aG redis git
```
## 7. GitLab
## 8. GitLab
# We'll install GitLab into home directory of the user "git"
cd /home/git
......@@ -451,7 +465,8 @@ Check if GitLab and its environment are configured correctly:
### Compile Assets
sudo -u git -H bundle exec rake gitlab:assets:compile RAILS_ENV=production
sudo -u git -H npm install --production
sudo -u git -H bundle exec rake gitlab:assets:compile RAILS_ENV=production NODE_ENV=production
### Start Your GitLab Instance
......@@ -459,7 +474,7 @@ Check if GitLab and its environment are configured correctly:
# or
sudo /etc/init.d/gitlab restart
## 8. Nginx
## 9. Nginx
**Note:** Nginx is the officially supported web server for GitLab. If you cannot or do not want to use Nginx as your web server, have a look at the [GitLab recipes](https://gitlab.com/gitlab-org/gitlab-recipes/).
......
......@@ -49,7 +49,19 @@ Install Bundler:
sudo gem install bundler --no-ri --no-rdoc
```
### 4. Get latest code
### 4. Update Node
GitLab now runs [webpack](http://webpack.js.org) to compile frontend assets and
it has a minimum requirement of node v4.3.0.
You can check which version you are running with `node -v`. If you are running
a version older than `v4.3.0` you will need to update to a newer version. You
can find instructions to install from community maintained packages or compile
from source at the nodejs.org website.
<https://nodejs.org/en/download/>
### 5. Get latest code
```bash
cd /home/git/gitlab
......@@ -76,7 +88,7 @@ cd /home/git/gitlab
sudo -u git -H git checkout 8-17-stable-ee
```
### 5. Install libs, migrations, etc.
### 6. Install libs, migrations, etc.
```bash
cd /home/git/gitlab
......@@ -93,13 +105,16 @@ sudo -u git -H bundle clean
# Run database migrations
sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production
# Install/update frontend asset dependencies
sudo -u git -H npm install --production
# Clean up assets and cache
sudo -u git -H bundle exec rake assets:clean assets:precompile cache:clear RAILS_ENV=production
sudo -u git -H bundle exec rake gitlab:assets:clean gitlab:assets:compile cache:clear RAILS_ENV=production
```
**MySQL installations**: Run through the `MySQL strings limits` and `Tables and data conversion to utf8mb4` [tasks](../install/database_mysql.md).
### 6. Update gitlab-workhorse
### 7. Update gitlab-workhorse
Install and compile gitlab-workhorse. This requires
[Go 1.5](https://golang.org/dl) which should already be on your system from
......@@ -111,7 +126,7 @@ cd /home/git/gitlab
sudo -u git -H bundle exec rake "gitlab:workhorse:install[/home/git/gitlab-workhorse]" RAILS_ENV=production
```
### 7. Update gitlab-shell
### 8. Update gitlab-shell
```bash
cd /home/git/gitlab-shell
......@@ -120,7 +135,7 @@ sudo -u git -H git fetch --all --tags
sudo -u git -H git checkout v4.1.1
```
### 8. Update configuration files
### 9. Update configuration files
#### New configuration options for `gitlab.yml`
......@@ -194,14 +209,14 @@ For Ubuntu 16.04.1 LTS:
sudo systemctl daemon-reload
```
### 9. Start application
### 10. Start application
```bash
sudo service gitlab start
sudo service nginx restart
```
### 10. Check application status
### 11. Check application status
Check if GitLab and its environment are configured correctly:
......
......@@ -60,6 +60,7 @@ module Gitlab
"Get latest code" => %W(#{Gitlab.config.git.bin_path} fetch),
"Switch to new version" => %W(#{Gitlab.config.git.bin_path} checkout v#{latest_version}),
"Install gems" => %W(bundle),
"Install node modules" => %W(npm install --production),
"Migrate DB" => %W(bundle exec rake db:migrate),
"Recompile assets" => %W(bundle exec rake gitlab:assets:clean gitlab:assets:compile),
"Clear cache" => %W(bundle exec rake cache:clear)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment