Commit c2c9f6d5 authored by Robert Speicher's avatar Robert Speicher
Browse files

Remove 8.0-only steps from the 8.1 update guide

Also adds a preamble note that a working 8.0 installation (i.e.,
gitlab-git-http-server, updated Nginx/Apache configs) is required before
proceeding.

[ci skip]
parent b941ef570ec1
# From 8.0 to 8.1
**NOTE:** GitLab 8.0 introduced several significant changes related to
installation and configuration which *are not duplicated here*. Be sure you're
already running a working version of 8.0 before proceeding with this guide.
### 0. Double-check your Git version
**This notice applies only to /usr/local/bin/git**
......@@ -66,58 +70,7 @@ sudo -u git -H git fetch
sudo -u git -H git checkout v2.6.5
```
### 5. Install gitlab-git-http-server
First we download Go 1.5 and install it into `/usr/local/go`:
```bash
curl -O --progress https://storage.googleapis.com/golang/go1.5.linux-amd64.tar.gz
echo '5817fa4b2252afdb02e11e8b9dc1d9173ef3bd5a go1.5.linux-amd64.tar.gz' | shasum -c - && \
sudo tar -C /usr/local -xzf go1.5.linux-amd64.tar.gz
sudo ln -sf /usr/local/go/bin/{go,godoc,gofmt} /usr/local/bin/
rm go1.5.linux-amd64.tar.gz
```
Now we download `gitlab-git-http-server` and install it in `/home/git/gitlab-git-http-server`:
```bash
cd /home/git
sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-git-http-server.git
cd gitlab-git-http-server
sudo -u git -H make
```
Make sure your unicorn.rb file contains a 'listen' line for
'127.0.0.1:8080' and that this line is not commented out.
```
cd /home/git/gitlab
grep ^listen config/unicorn.rb
# If there is no 'listen' line for 127.0.0.1:8080, add it:
sudo -u git tee -a config/unicorn.rb <<EOF
listen "127.0.0.1:8080", :tcp_nopush => true
EOF
```
If your Git repositories are in a directory other than `/home/git/repositories`,
you need to tell `gitlab-git-http-server` about it via `/etc/default/gitlab`.
See `lib/support/init.d/gitlab.default.example` for the options.
### 6. Copy secrets
The `secrets.yml` file is used to store keys to encrypt sessions and encrypt secure variables.
When you run migrations make sure to store it someplace safe.
Don't store it in the same place as your database backups,
otherwise your secrets are exposed if one of your backups is compromised.
```
cd /home/git/gitlab
sudo -u git -H cp config/secrets.yml.example config/secrets.yml
sudo -u git -H chmod 0600 config/secrets.yml
```
### 7. Install libs, migrations, etc.
### 5. Install libs, migrations, etc.
```bash
cd /home/git/gitlab
......@@ -138,7 +91,7 @@ sudo -u git -H bundle exec rake assets:clean assets:precompile cache:clear RAILS
sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
```
### 8. Update config files
### 6. Update configuration files
#### New configuration options for `gitlab.yml`
......@@ -148,41 +101,12 @@ There are new configuration options available for [`gitlab.yml`](config/gitlab.y
git diff origin/8-0-stable:config/gitlab.yml.example origin/8-1-stable:config/gitlab.yml.example
```
#### New Nginx configuration
Because of the new `gitlab-git-http-server` you need to update your Nginx
configuration. If you skip this step 'git clone' and 'git push' over HTTP(S)
will stop working.
View changes between the previous recommended Nginx configuration and the
current one:
```sh
# For HTTPS configurations
git diff origin/8-0-stable:lib/support/nginx/gitlab-ssl origin/8-1-stable:lib/support/nginx/gitlab-ssl
# For HTTP configurations
git diff origin/8-0-stable:lib/support/nginx/gitlab origin/8-1-stable:lib/support/nginx/gitlab
```
If you are using Apache instead of NGINX please see the updated [Apache templates](https://gitlab.com/gitlab-org/gitlab-recipes/tree/master/web-server/apache).
Also note that because Apache does not support upstreams behind Unix sockets you will need to let gitlab-git-http-server listen on a TCP port. You can do this via [/etc/default/gitlab](https://gitlab.com/gitlab-org/gitlab-ce/blob/8-0-stable/lib/support/init.d/gitlab.default.example#L34).
### 9. Use Redis v2.4.0+
Previous versions of GitLab allowed Redis versions >= 2.0 to be used, but
Sidekiq jobs could fail due to lack of support for the SREM command. GitLab
8.0 now checks that Redis >= 2.4.0 is used. You can check your Redis version
with the following command:
redis-cli info | grep redis_version
### 10. Start application
### 7. Start application
sudo service gitlab start
sudo service nginx restart
### 11. Check application status
### 8. Check application status
Check if GitLab and its environment are configured correctly:
......@@ -214,8 +138,4 @@ If you have more than one backup `*.tar` file(s) please add `BACKUP=timestamp_of
### "You appear to have cloned an empty repository."
If you see this message when attempting to clone a repository hosted by GitLab,
this is likely due to an outdated Nginx or Apache configuration, or a missing or
misconfigured `gitlab-git-http-server` instance. Double-check that you correctly
completed [Step 5](#5-install-gitlab-git-http-server) to install the daemon and
[Step 8](#new-nginx-configuration) to reconfigure Nginx.
See the [7.14 to 8.0 update guide](7.14-to-8.0.md#troubleshooting).
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