セルフコンパイル・インストールのCommunity EditionからEnterprise Editionへのアップグレード

note
以前は、Community EditionからEnterprise Editionへのアップグレードには別のドキュメントを使用していました。これらのドキュメントはEnterprise Editionのソースコードのdoc/update ディレクトリにあります。

使用している GitLab エディション(Community または Enterprise)を変更せずに、例えば 11.8 から 11.9 のようにバージョンだけをアップグレードしたい場合は、Upgrading from sourceドキュメントをご覧ください。

一般的なアップグレード手順

このガイドは、GitLab コミュニティエディションのインストールが正しく設定され、テストされていることを前提としています。何か問題が発生した場合や質問がある場合は、support@gitlab.com までご連絡ください。

すべての例において、EE_BRANCH を使用しているバージョンの Enterprise Edition ブランチに、CE_BRANCH を Community Edition ブランチに置き換えてください。ブランチ名は、エンタープライズ版ではmajor-minor-stable-ee という形式を使用し、コミュニティ版ではmajor-minor-stable という形式を使用します。例えば、11.8.0の場合、以下のブランチを使用します:

  • エンタープライズ版:11-8-stable-ee
  • コミュニティ版:11-8-stable

0.バックアップ

万が一に備えてバックアップを取っておきましょう:

cd /home/git/gitlab
sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production

1.サーバーの停止

sudo service gitlab stop

2.EEコードの取得

cd /home/git/gitlab
sudo -u git -H git remote add -f ee https://gitlab.com/gitlab-org/gitlab.git
sudo -u git -H git checkout EE_BRANCH

3.ライブラリやマイグレーションなどのインストール

cd /home/git/gitlab

# If you haven't done so during installation or a previous upgrade already
sudo -u git -H bundle config set --local deployment 'true'
sudo -u git -H bundle config set --local without 'development test mysql aws kerberos'

# Update gems
sudo -u git -H bundle install

# Optional: clean up old gems
sudo -u git -H bundle clean

# Run database migrations
sudo -u git -H bundle exec rake db:migrate 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

4.gitlab-elasticsearch-indexer をインストールします。

インストールの指示に従ってください。

5.アプリケーションの起動

sudo service gitlab start
sudo service nginx restart

6.申込状況の確認

GitLabとその環境が正しく設定されているかを確認します:

sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production

見落としがないか、さらに詳しくチェックしましょう:

sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production

すべての項目が緑色になっていれば、アップグレード完了です!

うまくいかない?以前のバージョン(コミュニティ版)に戻してください。

1.コードを以前のバージョンに戻します。

cd /home/git/gitlab
sudo -u git -H git checkout CE_BRANCH

2.バックアップからの復元

cd /home/git/gitlab
sudo -u git -H bundle exec rake gitlab:backup:restore RAILS_ENV=production

バージョン別の手順

GitLabのバージョンによっては、Community EditionからEnterprise Editionにアップグレードする際に追加の手順が必要になる場合があります。そのような手順が必要な場合、以下にバージョンごとの手順を示します。