Updated the installation and update guides
This commit is contained in:
parent
eceec9b1c5
commit
d11c64a67f
|
@ -183,9 +183,9 @@ We recommend using a PostgreSQL database. For MySQL check [MySQL setup guide](da
|
||||||
### Clone the Source
|
### Clone the Source
|
||||||
|
|
||||||
# Clone GitLab repository
|
# Clone GitLab repository
|
||||||
sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 7-6-stable gitlab
|
sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 7-8-stable gitlab
|
||||||
|
|
||||||
**Note:** You can change `7-6-stable` to `master` if you want the *bleeding edge* version, but never install master on a production server!
|
**Note:** You can change `7-8-stable` to `master` if you want the *bleeding edge* version, but never install master on a production server!
|
||||||
|
|
||||||
### Configure It
|
### Configure It
|
||||||
|
|
||||||
|
@ -280,7 +280,7 @@ We recommend using a PostgreSQL database. For MySQL check [MySQL setup guide](da
|
||||||
GitLab Shell is an SSH access and repository management software developed specially for GitLab.
|
GitLab Shell is an SSH access and repository management software developed specially for GitLab.
|
||||||
|
|
||||||
# Run the installation task for gitlab-shell (replace `REDIS_URL` if needed):
|
# Run the installation task for gitlab-shell (replace `REDIS_URL` if needed):
|
||||||
sudo -u git -H bundle exec rake gitlab:shell:install[v2.4.2] REDIS_URL=unix:/var/run/redis/redis.sock RAILS_ENV=production
|
sudo -u git -H bundle exec rake gitlab:shell:install[v2.4.3] REDIS_URL=unix:/var/run/redis/redis.sock RAILS_ENV=production
|
||||||
|
|
||||||
# By default, the gitlab-shell config is generated from your main GitLab config.
|
# By default, the gitlab-shell config is generated from your main GitLab config.
|
||||||
# You can review (and modify) the gitlab-shell config as follows:
|
# You can review (and modify) the gitlab-shell config as follows:
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
|
|
||||||
GitLab 6.0 is affected by critical security vulnerabilities CVE-2013-4490 and CVE-2013-4489.
|
GitLab 6.0 is affected by critical security vulnerabilities CVE-2013-4490 and CVE-2013-4489.
|
||||||
|
|
||||||
|
**You need to follow this guide first, before updating past 6.0, as it contains critical migration steps that are only present
|
||||||
|
in the `6-0-stable` branch**
|
||||||
|
|
||||||
## Deprecations
|
## Deprecations
|
||||||
|
|
||||||
### Global projects
|
### Global projects
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# From 6.x or 7.x to 7.7
|
# From 6.x or 7.x to 7.8
|
||||||
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/6.x-or-7.x-to-7.4.md) for the most up to date instructions.*
|
*Make sure you view this [upgrade guide from the `master` branch](../../../master/doc/update/6.x-or-7.x-to-7.8.md) for the most up to date instructions.*
|
||||||
|
|
||||||
This allows you to upgrade any version of GitLab from 6.0 and up (including 7.0 and up) to 7.7.
|
This allows you to upgrade any version of GitLab from 6.0 and up (including 7.0 and up) to 7.8.
|
||||||
|
|
||||||
## Global issue numbers
|
## Global issue numbers
|
||||||
|
|
||||||
|
@ -71,7 +71,7 @@ sudo -u git -H git checkout -- db/schema.rb # local changes will be restored aut
|
||||||
For GitLab Community Edition:
|
For GitLab Community Edition:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo -u git -H git checkout 7-7-stable
|
sudo -u git -H git checkout 7-8-stable
|
||||||
```
|
```
|
||||||
|
|
||||||
OR
|
OR
|
||||||
|
@ -79,7 +79,7 @@ OR
|
||||||
For GitLab Enterprise Edition:
|
For GitLab Enterprise Edition:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo -u git -H git checkout 7-7-stable-ee
|
sudo -u git -H git checkout 7-8-stable-ee
|
||||||
```
|
```
|
||||||
|
|
||||||
## 4. Install additional packages
|
## 4. Install additional packages
|
||||||
|
@ -123,7 +123,7 @@ sudo apt-get install libkrb5-dev
|
||||||
```bash
|
```bash
|
||||||
cd /home/git/gitlab-shell
|
cd /home/git/gitlab-shell
|
||||||
sudo -u git -H git fetch
|
sudo -u git -H git fetch
|
||||||
sudo -u git -H git checkout v2.4.1
|
sudo -u git -H git checkout v2.4.3
|
||||||
```
|
```
|
||||||
|
|
||||||
## 7. Install libs, migrations, etc.
|
## 7. Install libs, migrations, etc.
|
||||||
|
@ -158,14 +158,14 @@ sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
|
||||||
TIP: to see what changed in `gitlab.yml.example` in this release use next command:
|
TIP: to see what changed in `gitlab.yml.example` in this release use next command:
|
||||||
|
|
||||||
```
|
```
|
||||||
git diff 6-0-stable:config/gitlab.yml.example 7-7-stable:config/gitlab.yml.example
|
git diff 6-0-stable:config/gitlab.yml.example 7-8-stable:config/gitlab.yml.example
|
||||||
```
|
```
|
||||||
|
|
||||||
* Make `/home/git/gitlab/config/gitlab.yml` the same as https://gitlab.com/gitlab-org/gitlab-ce/blob/7-7-stable/config/gitlab.yml.example but with your settings.
|
* Make `/home/git/gitlab/config/gitlab.yml` the same as https://gitlab.com/gitlab-org/gitlab-ce/blob/7-8-stable/config/gitlab.yml.example but with your settings.
|
||||||
* Make `/home/git/gitlab/config/unicorn.rb` the same as https://gitlab.com/gitlab-org/gitlab-ce/blob/7-7-stable/config/unicorn.rb.example but with your settings.
|
* Make `/home/git/gitlab/config/unicorn.rb` the same as https://gitlab.com/gitlab-org/gitlab-ce/blob/7-8-stable/config/unicorn.rb.example but with your settings.
|
||||||
* Make `/home/git/gitlab-shell/config.yml` the same as https://gitlab.com/gitlab-org/gitlab-shell/blob/v2.4.0/config.yml.example but with your settings.
|
* Make `/home/git/gitlab-shell/config.yml` the same as https://gitlab.com/gitlab-org/gitlab-shell/blob/v2.4.0/config.yml.example but with your settings.
|
||||||
* HTTP setups: Make `/etc/nginx/sites-available/gitlab` the same as https://gitlab.com/gitlab-org/gitlab-ce/blob/7-7-stable/lib/support/nginx/gitlab but with your settings.
|
* HTTP setups: Make `/etc/nginx/sites-available/gitlab` the same as https://gitlab.com/gitlab-org/gitlab-ce/blob/7-8-stable/lib/support/nginx/gitlab but with your settings.
|
||||||
* HTTPS setups: Make `/etc/nginx/sites-available/gitlab-ssl` the same as https://gitlab.com/gitlab-org/gitlab-ce/blob/7-7-stable/lib/support/nginx/gitlab-ssl but with your settings.
|
* HTTPS setups: Make `/etc/nginx/sites-available/gitlab-ssl` the same as https://gitlab.com/gitlab-org/gitlab-ce/blob/7-8-stablef/lib/support/nginx/gitlab-ssl but with your settings.
|
||||||
* Copy rack attack middleware config
|
* Copy rack attack middleware config
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
@ -273,11 +273,11 @@ mysql> \q
|
||||||
sudo -u git -H editor /home/git/gitlab/config/database.yml
|
sudo -u git -H editor /home/git/gitlab/config/database.yml
|
||||||
```
|
```
|
||||||
|
|
||||||
## Things went south? Revert to previous version (6.0)
|
## Things went south? Revert to previous version (7.0)
|
||||||
|
|
||||||
### 1. Revert the code to the previous version
|
### 1. Revert the code to the previous version
|
||||||
|
|
||||||
Follow the [upgrade guide from 5.4 to 6.0](5.4-to-6.0.md), except for the database migration (the backup is already migrated to the previous version).
|
Follow the [upgrade guide from 6.9 to 7.0](6.9-to-7.0.md), except for the database migration (the backup is already migrated to the previous version).
|
||||||
|
|
||||||
### 2. Restore from the backup:
|
### 2. Restore from the backup:
|
||||||
|
|
|
@ -0,0 +1,119 @@
|
||||||
|
# From 7.7 to 7.8
|
||||||
|
|
||||||
|
### 0. Stop server
|
||||||
|
|
||||||
|
sudo service gitlab stop
|
||||||
|
|
||||||
|
### 1. Backup
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /home/git/gitlab
|
||||||
|
sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Get latest code
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo -u git -H git fetch --all
|
||||||
|
sudo -u git -H git checkout -- db/schema.rb # local changes will be restored automatically
|
||||||
|
```
|
||||||
|
|
||||||
|
For GitLab Community Edition:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo -u git -H git checkout 7-8-stable
|
||||||
|
```
|
||||||
|
|
||||||
|
OR
|
||||||
|
|
||||||
|
For GitLab Enterprise Edition:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo -u git -H git checkout 7-8-stable-ee
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. Update gitlab-shell
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /home/git/gitlab-shell
|
||||||
|
sudo -u git -H git fetch
|
||||||
|
sudo -u git -H git checkout v2.4.3
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4. Install libs, migrations, etc.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo apt-get install libkrb5-dev
|
||||||
|
|
||||||
|
cd /home/git/gitlab
|
||||||
|
|
||||||
|
# MySQL installations (note: the line below states '--without ... postgres')
|
||||||
|
sudo -u git -H bundle install --without development test postgres --deployment
|
||||||
|
|
||||||
|
# PostgreSQL installations (note: the line below states '--without ... mysql')
|
||||||
|
sudo -u git -H bundle install --without development test mysql --deployment
|
||||||
|
|
||||||
|
# Run database migrations
|
||||||
|
sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production
|
||||||
|
|
||||||
|
# Clean up assets and cache
|
||||||
|
sudo -u git -H bundle exec rake assets:clean assets:precompile cache:clear RAILS_ENV=production
|
||||||
|
|
||||||
|
# Update init.d script
|
||||||
|
sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
|
||||||
|
```
|
||||||
|
|
||||||
|
### 5. Update config files
|
||||||
|
|
||||||
|
#### New configuration options for `gitlab.yml`
|
||||||
|
|
||||||
|
There are new configuration options available for [`gitlab.yml`](config/gitlab.yml.example). View them with the command below and apply them to your current `gitlab.yml`.
|
||||||
|
|
||||||
|
```
|
||||||
|
git diff origin/7-6-stable:config/gitlab.yml.example origin/7-8-stable:config/gitlab.yml.example
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Change Nginx settings
|
||||||
|
|
||||||
|
* HTTP setups: Make `/etc/nginx/sites-available/gitlab` the same as [`lib/support/nginx/gitlab`](/lib/support/nginx/gitlab) but with your settings
|
||||||
|
* HTTPS setups: Make `/etc/nginx/sites-available/gitlab-ssl` the same as [`lib/support/nginx/gitlab-ssl`](/lib/support/nginx/gitlab-ssl) but with your setting
|
||||||
|
|
||||||
|
#### Setup time zone (optional)
|
||||||
|
|
||||||
|
Consider setting the time zone in `gitlab.yml` otherwise GitLab will default to UTC. If you set a time zone previously in [`application.rb`](config/application.rb) (unlikely), unset it.
|
||||||
|
|
||||||
|
### 6. Start application
|
||||||
|
|
||||||
|
sudo service gitlab start
|
||||||
|
sudo service nginx restart
|
||||||
|
|
||||||
|
### 7. Check application status
|
||||||
|
|
||||||
|
Check if GitLab and its environment are configured correctly:
|
||||||
|
|
||||||
|
sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production
|
||||||
|
|
||||||
|
To make sure you didn't miss anything run a more thorough check with:
|
||||||
|
|
||||||
|
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
|
||||||
|
|
||||||
|
If all items are green, then congratulations upgrade is complete!
|
||||||
|
|
||||||
|
### 8. GitHub settings (if applicable)
|
||||||
|
|
||||||
|
If you are using GitHub as an OAuth provider for authentication, you should change the callback URL so that it
|
||||||
|
only contains a root URL (ex. `https://gitlab.example.com/`)
|
||||||
|
|
||||||
|
## Things went south? Revert to previous version (7.6)
|
||||||
|
|
||||||
|
### 1. Revert the code to the previous version
|
||||||
|
Follow the [upgrade guide from 7.5 to 7.6](7.5-to-7.6.md), except for the database migration
|
||||||
|
(The backup is already migrated to the previous version)
|
||||||
|
|
||||||
|
### 2. Restore from the backup:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /home/git/gitlab
|
||||||
|
sudo -u git -H bundle exec rake gitlab:backup:restore RAILS_ENV=production
|
||||||
|
```
|
||||||
|
If you have more than one backup *.tar file(s) please add `BACKUP=timestamp_of_backup` to the command above.
|
Loading…
Reference in New Issue