2019-02-11 11:08:25 -05:00
|
|
|
---
|
|
|
|
comments: false
|
|
|
|
---
|
|
|
|
|
|
|
|
# Upgrading from Community Edition to Enterprise Edition from source
|
|
|
|
|
|
|
|
NOTE: **NOTE** In the past we used separate documents for upgrading from
|
|
|
|
Community Edition to Enterprise Edition. These documents can be found in the
|
|
|
|
[`doc/update` directory of Enterprise Edition's source
|
|
|
|
code][old-ee-upgrade-docs].
|
|
|
|
|
2019-05-05 08:17:20 -04:00
|
|
|
If you want to upgrade the version only, for example 11.8 to 11.9, *without* changing the
|
|
|
|
GitLab edition you are using (Community or Enterprise), see the
|
|
|
|
[Upgrading from source](upgrading_from_source.md) documentation.
|
|
|
|
|
2019-02-11 11:08:25 -05:00
|
|
|
## General upgrading steps
|
|
|
|
|
|
|
|
This guide assumes you have a correctly configured and tested installation of
|
|
|
|
GitLab Community Edition. If you run into any trouble or if you have any
|
2019-08-29 04:50:59 -04:00
|
|
|
questions please contact us at `support@gitlab.com`.
|
2019-02-11 11:08:25 -05:00
|
|
|
|
|
|
|
In all examples, replace `EE_BRANCH` with the Enterprise Edition branch for the
|
|
|
|
version you are using, and `CE_BRANCH` with the Community Edition branch.
|
|
|
|
Branch names use the format `major-minor-stable-ee` for Enterprise Edition, and
|
|
|
|
`major-minor-stable` for Community Edition. For example, for 11.8.0 you would
|
|
|
|
use the following branches:
|
|
|
|
|
2019-06-30 23:36:23 -04:00
|
|
|
- Enterprise Edition: `11-8-stable-ee`
|
|
|
|
- Community Edition: `11-8-stable`
|
2019-02-11 11:08:25 -05:00
|
|
|
|
|
|
|
### 0. Backup
|
|
|
|
|
|
|
|
Make a backup just in case something goes wrong:
|
|
|
|
|
2019-06-30 23:36:23 -04:00
|
|
|
```sh
|
2019-02-11 11:08:25 -05:00
|
|
|
cd /home/git/gitlab
|
|
|
|
sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production
|
|
|
|
```
|
|
|
|
|
|
|
|
For installations using MySQL, this may require granting "LOCK TABLES"
|
|
|
|
privileges to the GitLab user on the database version.
|
|
|
|
|
|
|
|
### 1. Stop server
|
|
|
|
|
2019-06-30 23:36:23 -04:00
|
|
|
```sh
|
2019-02-11 11:08:25 -05:00
|
|
|
sudo service gitlab stop
|
|
|
|
```
|
|
|
|
|
|
|
|
### 2. Get the EE code
|
|
|
|
|
2019-06-30 23:36:23 -04:00
|
|
|
```sh
|
2019-02-11 11:08:25 -05:00
|
|
|
cd /home/git/gitlab
|
2019-09-18 10:02:45 -04:00
|
|
|
sudo -u git -H git remote add -f ee https://gitlab.com/gitlab-org/gitlab.git
|
2019-02-11 11:08:25 -05:00
|
|
|
sudo -u git -H git checkout EE_BRANCH
|
|
|
|
```
|
|
|
|
|
2019-08-22 04:50:31 -04:00
|
|
|
### 3. Install libs, migrations, etc
|
2019-02-11 11:08:25 -05:00
|
|
|
|
2019-06-30 23:36:23 -04:00
|
|
|
```sh
|
2019-02-11 11:08:25 -05:00
|
|
|
cd /home/git/gitlab
|
|
|
|
|
2019-12-13 07:07:41 -05:00
|
|
|
sudo -u git -H bundle install --deployment --without development test mysql aws kerberos
|
2019-02-11 11:08:25 -05:00
|
|
|
|
2019-12-13 07:07:41 -05:00
|
|
|
# Optional: clean up old gems
|
|
|
|
sudo -u git -H bundle clean
|
2019-02-11 11:08:25 -05:00
|
|
|
|
|
|
|
# Run database migrations
|
|
|
|
sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production
|
|
|
|
|
2019-12-13 07:07:41 -05:00
|
|
|
# Compile GetText PO files
|
|
|
|
sudo -u git -H bundle exec rake gettext:compile RAILS_ENV=production
|
|
|
|
|
|
|
|
# Update node dependencies and recompile assets
|
|
|
|
sudo -u git -H bundle exec rake yarn:install gitlab:assets:clean gitlab:assets:compile RAILS_ENV=production NODE_ENV=production NODE_OPTIONS="--max_old_space_size=4096"
|
|
|
|
|
|
|
|
# Clean up cache
|
|
|
|
sudo -u git -H bundle exec rake cache:clear RAILS_ENV=production
|
2019-02-11 11:08:25 -05:00
|
|
|
```
|
|
|
|
|
2019-12-20 04:24:38 -05:00
|
|
|
### 4. Install `gitlab-elasticsearch-indexer` **(STARTER ONLY)**
|
2019-02-11 11:08:25 -05:00
|
|
|
|
2019-12-20 04:24:38 -05:00
|
|
|
Please follow the [install instruction](../integration/elasticsearch.md#installation).
|
2019-02-11 11:08:25 -05:00
|
|
|
|
|
|
|
### 5. Start application
|
|
|
|
|
2019-06-30 23:36:23 -04:00
|
|
|
```sh
|
2019-02-11 11:08:25 -05:00
|
|
|
sudo service gitlab start
|
|
|
|
sudo service nginx restart
|
|
|
|
```
|
|
|
|
|
|
|
|
### 6. Check application status
|
|
|
|
|
|
|
|
Check if GitLab and its environment are configured correctly:
|
|
|
|
|
2019-06-30 23:36:23 -04:00
|
|
|
```sh
|
2019-02-11 11:08:25 -05:00
|
|
|
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:
|
|
|
|
|
2019-06-30 23:36:23 -04:00
|
|
|
```sh
|
2019-02-11 11:08:25 -05:00
|
|
|
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
|
|
|
|
```
|
|
|
|
|
|
|
|
If all items are green, then congratulations upgrade complete!
|
|
|
|
|
|
|
|
## Things went south? Revert to previous version (Community Edition)
|
|
|
|
|
|
|
|
### 1. Revert the code to the previous version
|
|
|
|
|
2019-06-30 23:36:23 -04:00
|
|
|
```sh
|
2019-02-11 11:08:25 -05:00
|
|
|
cd /home/git/gitlab
|
|
|
|
sudo -u git -H git checkout CE_BRANCH
|
|
|
|
```
|
|
|
|
|
|
|
|
### 2. Restore from the backup
|
|
|
|
|
2019-06-30 23:36:23 -04:00
|
|
|
```sh
|
2019-02-11 11:08:25 -05:00
|
|
|
cd /home/git/gitlab
|
|
|
|
sudo -u git -H bundle exec rake gitlab:backup:restore RAILS_ENV=production
|
|
|
|
```
|
|
|
|
|
|
|
|
## Version specific steps
|
|
|
|
|
|
|
|
Certain versions of GitLab may require you to perform additional steps when
|
|
|
|
upgrading from Community Edition to Enterprise Edition. Should such steps be
|
|
|
|
necessary, they will listed per version below.
|
|
|
|
|
|
|
|
<!--
|
|
|
|
Example:
|
|
|
|
|
|
|
|
### 11.8.0
|
|
|
|
|
|
|
|
Additional instructions here.
|
|
|
|
-->
|
|
|
|
|
2019-09-18 10:02:45 -04:00
|
|
|
[old-ee-upgrade-docs]: https://gitlab.com/gitlab-org/gitlab/tree/11-8-stable-ee/doc/update
|