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: ...@@ -39,6 +39,7 @@ The GitLab installation consists of setting up the following components:
1. Packages / Dependencies 1. Packages / Dependencies
1. Ruby 1. Ruby
1. Go 1. Go
1. Node
1. System Users 1. System Users
1. Database 1. Database
1. Redis 1. Redis
...@@ -63,7 +64,7 @@ up-to-date and install it. ...@@ -63,7 +64,7 @@ up-to-date and install it.
Install the required packages (needed to compile Ruby and native extensions to Ruby gems): 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: If you want to use Kerberos for user authentication, then install libkrb5-dev:
...@@ -151,13 +152,26 @@ page](https://golang.org/dl). ...@@ -151,13 +152,26 @@ page](https://golang.org/dl).
sudo ln -sf /usr/local/go/bin/{go,godoc,gofmt} /usr/local/bin/ sudo ln -sf /usr/local/go/bin/{go,godoc,gofmt} /usr/local/bin/
rm go1.5.3.linux-amd64.tar.gz 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: Create a `git` user for GitLab:
sudo adduser --disabled-login --gecos 'GitLab' git sudo adduser --disabled-login --gecos 'GitLab' git
## 5. Database ## 6. Database
We recommend using a PostgreSQL database. For MySQL check the We recommend using a PostgreSQL database. For MySQL check the
[MySQL setup guide](database_mysql.md). [MySQL setup guide](database_mysql.md).
...@@ -218,7 +232,7 @@ We recommend using a PostgreSQL database. For MySQL check the ...@@ -218,7 +232,7 @@ We recommend using a PostgreSQL database. For MySQL check the
gitlabhq_production> \q gitlabhq_production> \q
``` ```
## 6. Redis ## 7. Redis
GitLab requires at least Redis 2.8. GitLab requires at least Redis 2.8.
...@@ -263,7 +277,7 @@ sudo service redis-server restart ...@@ -263,7 +277,7 @@ sudo service redis-server restart
sudo usermod -aG redis git sudo usermod -aG redis git
``` ```
## 7. GitLab ## 8. GitLab
# We'll install GitLab into home directory of the user "git" # We'll install GitLab into home directory of the user "git"
cd /home/git cd /home/git
...@@ -451,7 +465,8 @@ Check if GitLab and its environment are configured correctly: ...@@ -451,7 +465,8 @@ Check if GitLab and its environment are configured correctly:
### Compile Assets ### 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 ### Start Your GitLab Instance
...@@ -459,7 +474,7 @@ Check if GitLab and its environment are configured correctly: ...@@ -459,7 +474,7 @@ Check if GitLab and its environment are configured correctly:
# or # or
sudo /etc/init.d/gitlab restart 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/). **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: ...@@ -49,7 +49,19 @@ Install Bundler:
sudo gem install bundler --no-ri --no-rdoc 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 ```bash
cd /home/git/gitlab cd /home/git/gitlab
...@@ -76,7 +88,7 @@ cd /home/git/gitlab ...@@ -76,7 +88,7 @@ cd /home/git/gitlab
sudo -u git -H git checkout 8-17-stable-ee sudo -u git -H git checkout 8-17-stable-ee
``` ```
### 5. Install libs, migrations, etc. ### 6. Install libs, migrations, etc.
```bash ```bash
cd /home/git/gitlab cd /home/git/gitlab
...@@ -93,13 +105,16 @@ sudo -u git -H bundle clean ...@@ -93,13 +105,16 @@ sudo -u git -H bundle clean
# Run database migrations # Run database migrations
sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production 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 # 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). **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 Install and compile gitlab-workhorse. This requires
[Go 1.5](https://golang.org/dl) which should already be on your system from [Go 1.5](https://golang.org/dl) which should already be on your system from
...@@ -111,7 +126,7 @@ cd /home/git/gitlab ...@@ -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 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 ```bash
cd /home/git/gitlab-shell cd /home/git/gitlab-shell
...@@ -120,7 +135,7 @@ sudo -u git -H git fetch --all --tags ...@@ -120,7 +135,7 @@ sudo -u git -H git fetch --all --tags
sudo -u git -H git checkout v4.1.1 sudo -u git -H git checkout v4.1.1
``` ```
### 8. Update configuration files ### 9. Update configuration files
#### New configuration options for `gitlab.yml` #### New configuration options for `gitlab.yml`
...@@ -194,14 +209,14 @@ For Ubuntu 16.04.1 LTS: ...@@ -194,14 +209,14 @@ For Ubuntu 16.04.1 LTS:
sudo systemctl daemon-reload sudo systemctl daemon-reload
``` ```
### 9. Start application ### 10. Start application
```bash ```bash
sudo service gitlab start sudo service gitlab start
sudo service nginx restart sudo service nginx restart
``` ```
### 10. Check application status ### 11. Check application status
Check if GitLab and its environment are configured correctly: Check if GitLab and its environment are configured correctly:
......
...@@ -60,6 +60,7 @@ module Gitlab ...@@ -60,6 +60,7 @@ module Gitlab
"Get latest code" => %W(#{Gitlab.config.git.bin_path} fetch), "Get latest code" => %W(#{Gitlab.config.git.bin_path} fetch),
"Switch to new version" => %W(#{Gitlab.config.git.bin_path} checkout v#{latest_version}), "Switch to new version" => %W(#{Gitlab.config.git.bin_path} checkout v#{latest_version}),
"Install gems" => %W(bundle), "Install gems" => %W(bundle),
"Install node modules" => %W(npm install --production),
"Migrate DB" => %W(bundle exec rake db:migrate), "Migrate DB" => %W(bundle exec rake db:migrate),
"Recompile assets" => %W(bundle exec rake gitlab:assets:clean gitlab:assets:compile), "Recompile assets" => %W(bundle exec rake gitlab:assets:clean gitlab:assets:compile),
"Clear cache" => %W(bundle exec rake cache:clear) "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