About
少し前に、社内のGitLabを5.3から7.13にアップグレードしたので、その際の作業ログを残しておきます。
今後、同じような作業(というか苦行)をする人のお役に立てれば。。
なお、作業時点での最新版は7.13でしたが、現在は8.Xです。今後作業する場合は、適宜読み替えて下さい。
アップグレード前の状況
- 3.Xの時代から何度かアップグレードしながら利用していて、現在は5.3で運用中
- OSはUbuntu
アップグレード計画
新環境はOmnibus版で運用したかったため、アップグレード計画を以下のように立てました。
- 新規サーバにGitLab 7.13を新環境として構築し、現環境のデータをマイグレーションしてインポートする。
- マイグレーションは、新規サーバにマイグレーション専用の環境を用意し、公式ガイドに従って下記3ステップで行う。
- MySQLからPostgreSQLにコンバート
- 最新GitLabでは、MySQLのサポートがPro版のみorz
- 5.3 -> 5.4
- 5.4 -> 6.0
- From 6.x or 7.x to 7.13
- MySQLからPostgreSQLにコンバート
- 最後にDNSを新環境に切り替えて移行を行う
この流れを可視化すると、次のようになります。
作業ログ
1. 新環境の構築
新規サーバにUbuntu 14.04 LTSをセットアップし、公式ガイドに従ってGitLabのOmnibus版をインストールする。
$ sudo apt-get install curl openssh-server ca-certificates
$ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
$ sudo apt-get install gitlab-ce
$ sudo gitlab-ctl reconfigure
2. マイグレーション環境の構築
新規サーバにUbuntu 14.04 LTSをセットアップし、公式ガイドに従ってGitLab 5.3をインストールする。
依存パッケージをインストールする。
# Install dependencies
$ sudo apt-get install -y build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl git-core openssh-server redis-server checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev
$ sudo apt-get install python
$ python --version
次にRubyをインストールする。
# Ruby
$ sudo apt-get remove ruby1.8
$ mkdir /tmp/ruby && cd /tmp/ruby
$ curl --progress http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p392.tar.gz | tar xz
$ cd ruby-1.9.3-p392
$ ./configure
$ make
$ sudo make install
$ sudo gem install bundler
次にgitlab-shellをインストールする。gitlab_urlのURLは各自の環境で読み替えて下さい。
# Install gitlab-shell
$ sudo adduser --disabled-login --gecos 'GitLab' git
$ sudo su git
$ cd /home/git
$ git clone https://github.com/gitlabhq/gitlab-shell.git
$ cd gitlab-shell
$ git checkout v1.4.0
$ cp config.yml.example config.yml
$ vim config.yml
# gitlab_urlを編集
# gitlab_url: "http://git-migration.example.com/"
$ ./bin/install
次にMySQLをインストールする。
# MySQL
$ sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev
$ mysql -u root -p # password=root
mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY 'gitlab';
mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
mysql> GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'gitlab'@'localhost';
mysql> \q
# Check connectivity
$ sudo -u git -H mysql -u gitlab -p -D gitlabhq_production
次にGitLabをインストールする。
# GitLab
$ cd /home/git
$ sudo -u git -H git clone https://github.com/gitlabhq/gitlabhq.git gitlab
$ cd /home/git/gitlab
$ sudo -u git -H git checkout 5-3-stable
$ cd /home/git/gitlab
$ sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml
$ sudo -u git -H vim config/gitlab.yml
# hostを編集
# host: git-migration.example.com
$ sudo chown -R git log/
$ sudo chown -R git tmp/
$ sudo chmod -R u+rwX log/
$ sudo chmod -R u+rwX tmp/
$ sudo -u git -H mkdir /home/git/gitlab-satellites
$ sudo -u git -H mkdir tmp/pids/
$ sudo -u git -H mkdir tmp/sockets/
$ sudo chmod -R u+rwX tmp/pids/
$ sudo chmod -R u+rwX tmp/sockets/
$ sudo -u git -H mkdir public/uploads
$ sudo chmod -R u+rwX public/uploads
$ sudo -u git -H cp config/puma.rb.example config/puma.rb
$ sudo -u git -H git config --global user.name "GitLab"
$ sudo -u git -H git config --global user.email "gitlab@localhost"
$ sudo -u git cp config/database.yml.mysql config/database.yml
次にgemをインストールする。
$ cd /home/git/gitlab
$ sudo gem install charlock_holmes --version '0.6.9.4'
$ sudo -u git -H bundle install --deployment --without development test postgres
ここで1つ目の地雷を踏む。Could not find modernizr-2.6.2 in any of the sources
となり、gemのインストールが終わらない。
上記記事を参考に、GemfileとGemfile.lockのmodernizr 2.6.2をmodernizr-rails 2.7.1に修正して再トライ。
$ sudo vim Gemfile
#gem "modernizr", "2.6.2"
gem "modernizr-rails", "2.7.1"
$ sudo vim Gemfile.log
modernizr-rails (2.7.1)
modernizr-rails (= 2.7.1)
$ sudo -u git -H bundle install --deployment --without development test postgres
とりあえず通ったので、GitLabの設定作業を進める。
$ sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production
$ sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
$ sudo chmod +x /etc/init.d/gitlab
$ sudo update-rc.d gitlab defaults 21
$ sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production
$ sudo service gitlab start
$ sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
# 何故かsidekiqが起動していないと怒られたのでsidekiq:startしておく
$ sudo -u git -H bundle exec rake sidekiq:start RAILS_ENV=production
$ sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
最後にNginxをインストールする。
# nginx
$ sudo apt-get install nginx
$ sudo cp lib/support/nginx/gitlab /etc/nginx/sites-available/gitlab
$ sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab
$ sudo vim /etc/nginx/sites-available/gitlab
# listen <IPアドレス>:80 default_server;
# server_name localhost;
$ sudo service nginx restart
3. 現環境のデータをマイグレーション環境にインポート
まず、現環境のデータをダンプする。
# MySQLのダンプ
$ mysqldump -u gitlab -p --default-character-set=utf8 gitlabhq_production > gitlabhq_production.sql
# リポジトリのアーカイブ
$ sudo zip -r /home/git/repositories_migration.zip /home/git/repositories
gitlabhq_production.sql
とrepositories_migration.zip
は、マイグレーション環境の/home/hoge
配下に転送しておく。
次に、マイグレーション環境でデータをインポートする。
# MySQLのインポート
$ mysql -u gitlab -p gitlabhq_production < /home/hoge/gitlabhq_production.sql
# リポジトリの展開
$ unzip /home/hoge/repositories_migration.zip
$ sudo rm -rf /home/git/repositories
$ sudo mv /home/hoge/home/git/repositories /home/git/
$ sudo chown -R git:git /home/git/repositories
$ sudo chmod -R 2775 /home/git/repositories
4. マイグレーション環境のDBをPostgreSQLにコンバート
PostgreSQLをインストールする。
$ sudo apt-get install -y postgresql libpq-dev
$ sudo -u postgres psql -d template1
template1=# CREATE USER git WITH PASSWORD 'git';
template1=# CREATE DATABASE gitlabhq_production OWNER git;
template1=# \q
$ sudo -u git -H psql -d gitlabhq_production
MySQLのデータをPostgreSQLにコンバートする。
$ cd
$ mysqldump --compatible=postgresql --default-character-set=utf8 -r databasename.mysql -u gitlab gitlabhq_production -p
$ git clone https://github.com/gitlabhq/mysql-postgresql-converter.git
$ cp mysql-postgresql-converter/db_converter.py ./
$ cp mysql-postgresql-converter/move_drop_indexes.ed ./
$ python db_converter.py databasename.mysql databasename.psql
$ ed -s databasename.psql < move_drop_indexes.ed
$ sudo -u git -H psql -f databasename.psql -d gitlabhq_production
GitLabをPostgreSQL向けに設定する。
$ cd /home/git/gitlab
$ sudo -u git -H cp config/database.yml.postgresql config/database.yml
$ sudo -u git -H vim config/database.yml
$ sudo vim .bundle/config
# withoutからpostgresを消す
$ sudo -u git -H bundle install --deployment --without development test mysql
$ sudo /etc/init.d/gitlab restart
以上でPostgreSQL化は完了。
5. 5.3から5.4へのマイグレーション
公式ガイドに従って作業する。
$ sudo service gitlab stop
$ cd /home/git/gitlab
$ sudo -u git -H git checkout Gemfile Gemfile.lock
$ sudo -u git -H git fetch
$ sudo -u git -H git checkout 5-4-stable
$ cd /home/git/gitlab-shell
$ sudo -u git -H git fetch
$ sudo -u git -H git checkout v1.7.9
$ cd /home/git/gitlab
# 例によってmodernizr関連で怒られるので...
$ sudo vim Gemfile
#gem "modernizr", "2.6.2"
gem "modernizr-rails", "2.7.1"
$ sudo vim Gemfile.log
modernizr-rails (2.7.1)
modernizr-rails (= 2.7.1)
$ sudo -u git -H bundle install --without development test mysql --deployment
$ sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production
$ sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production
設定ファイルを新バージョンの仕様に合うように編集しますが、自分の環境では特に変更は必要ありませんでした。
- Make
/home/git/gitlab/config/gitlab.yml
same as https://gitlab.com/gitlab-org/gitlab-ce/blob/5-4-stable/config/gitlab.yml.example but with your settings. - Make
/home/git/gitlab/config/puma.rb
same as https://gitlab.com/gitlab-org/gitlab-ce/blob/5-4-stable/config/puma.rb.example but with your settings.
起動スクリプトの設置と、インストールの最終チェックを行う。
$ sudo rm /etc/init.d/gitlab
$ sudo curl -L --output /etc/init.d/gitlab https://raw.github.com/gitlabhq/gitlabhq/5-4-stable/lib/support/init.d/gitlab
$ sudo chmod +x /etc/init.d/gitlab
$ sudo service gitlab start
$ sudo service nginx restart
$ 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
gitlab:checkに怒られたので、指示に従って作業して再チェックする。
$ sudo chmod -R ug+rwX,o-rwx /home/git/repositories/
$ sudo chmod -R ug-s /home/git/repositories/
$ find /home/git/repositories/ -type d -print0 | sudo xargs -0 chmod g+s
$ sudo -u git -H bundle exec rake gitlab:satellites:create RAILS_ENV=production
$ sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
6. 5.4から6.0へのマイグレーション
公式ガイドに従って作業する。
$ sudo service gitlab stop
$ cd /home/git/gitlab
$ sudo -u git -H git checkout Gemfile Gemfile.lock db/schema.rb
$ sudo -u git -H git fetch
$ sudo -u git -H git checkout 6-0-stable
$ cd /home/git/gitlab-shell
$ sudo -u git -H git fetch
$ sudo -u git -H git checkout v1.7.9
$ sudo apt-get install python-docutils
$ cd /home/git/gitlab
# 例によってmodernizr関連で怒られるので...
$ sudo vim Gemfile
#gem "modernizr", "2.6.2"
gem "modernizr-rails", "2.7.1"
$ sudo vim Gemfile.log
modernizr-rails (2.7.1)
modernizr-rails (= 2.7.1)
$ sudo -u git -H bundle install --without development test mysql --deployment
DBのマイグレーション作業を開始。6.0ではModelに大きな修正が入ったとのことで、マイグレーションには複数のステップが必要になる。
$ sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production
$ sudo -u git -H bundle exec rake migrate_groups RAILS_ENV=production
$ sudo -u git -H bundle exec rake migrate_global_projects RAILS_ENV=production
migrate_global_projects
で2回目の地雷を踏む。マイグレーションの進捗状況にFの文字が表示されているので、マイグレーションに失敗しているプロジェクトがある模様。
エラーログとデータとソースを確認したところ、失敗の原因を突き止める。
3.X時代から運用していたため、色々と怪しいデータが残っているようだ。。
- プロジェクト名に禁止文字
/()
が使われている - owner不在?のProjectがあり、ProjectTransferServiceが失敗する
仕方ないので、lib/tasks/migrate/migrate_global_projects.rake
を修正する。
desc "GITLAB | Migrate Global Projects to Namespaces"
task migrate_global_projects: :environment do
found = Project.where(namespace_id: nil).count
if found > 0
puts "Global namespace is deprecated. We found #{found} projects stored in global namespace".yellow
puts "You may abort this task and move them to group/user namespaces manually."
puts "If you want us to move this projects under owner namespaces then continue"
ask_to_continue
else
puts "No global projects found. Proceed with update.".green
end
Project.where(namespace_id: nil).find_each(batch_size: 20) do |project|
begin
# プロジェクト名の禁止文字を_に置換する
project.name = project.name.gsub(/(\/|\(|\))/, '_')
# creatorを明示的に指定する
project.creator = User.find(1)
# Transfer先のNamespaceを明示的に指定する
ProjectTransferService.new.transfer(project, Namespace.find(1))
print '.'
rescue => ex
p ex
puts ex.message
print 'F'
end
end
end
マイグレーション作業を再開。
$ sudo -u git -H bundle exec rake migrate_global_projects RAILS_ENV=production
$ sudo -u git -H bundle exec rake migrate_keys RAILS_ENV=production
$ sudo -u git -H bundle exec rake migrate_inline_notes RAILS_ENV=production
$ sudo -u git -H bundle exec rake gitlab:satellites:create RAILS_ENV=production
$ sudo -u git -H bundle exec rake cache:clear RAILS_ENV=production
$ sudo -u git -H bundle exec rake assets:clean RAILS_ENV=production
$ sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production
設定ファイルを新バージョンの仕様に合うように編集しますが、自分の環境では特に変更は必要ありませんでした。
- Make
/home/git/gitlab/config/gitlab.yml
the same as https://gitlab.com/gitlab-org/gitlab-ce/blob/master/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/master/config/unicorn.rb.example but with your settings.
$ sudo -u git -H cp /home/git/gitlab/config/gitlab.yml.example /home/git/gitlab/config/gitlab.yml
$ sudo vim /home/git/gitlab/config/gitlab.yml
$ sudo -u git -H cp /home/git/gitlab/config/unicorn.rb.example /home/git/gitlab/config/unicorn.rb
$ sudo rm /etc/init.d/gitlab
$ sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
$ sudo chmod +x /etc/init.d/gitlab
$ sudo service gitlab start
$ sudo service nginx restart
$ 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
7. 6.0での動作確認
6.0では大きな変更が入っているので、ここで動作確認をしておく。
$ git clone git@git-migration.example.com:user/project.git
git@git-migration.example.com's password:
パスワード求められるorz
確認すると/home/git/.ssh/authorized_keys
が空であったので、現環境から/home/git/.ssh/authorized_keys
をマイグレーション環境にコピーして再トライ。
$ git clone git@git-migration.example.com:user/project.git
Cloning into 'project'...
Access denied.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
gitlab-shellのログを見てみると、GitLabのAPIアクセスが404になっている模様。
W, [2015-08-01T14:15:57.909114 #689] WARN -- : gitlab-shell: Access denied for git command <git-upload-pack 'user/project.git'> by user with key key-106.
E, [2015-08-01T14:18:22.067857 #792] ERROR -- : API call <GET http://git-migration.example.com//api/v3/internal/allowed?key_id=106&action=git-upload-pack&ref=_any&project=user/project> failed: 404 => <<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.4.6 (Ubuntu)</center>
</body>
</html>
>.
W, [2015-08-01T14:18:22.067961 #792] WARN -- : gitlab-shell: Access denied for git command <git-upload-pack 'user/project.git'> by user with key key-106.
nginxのデフォルトVirtualHostが応答しているためと思われるので、nginxの設定ファイルを修正してnginxを再起動。
server {
# 全てのIPでlisten
listen 80;
# server_nameを指定
server_name git-migration.example.com;
...
}
再トライ。
$ git clone git@git-migration.example.com:user/project.git
Cloning into 'project'...
remote: Counting objects: 161, done.
remote: Compressing objects: 100% (141/141), done.
remote: Total 161 (delta 63), reused 0 (delta 0)
Receiving objects: 100% (161/161), 125.77 KiB | 0 bytes/s, done.
Resolving deltas: 100% (63/63), done.
Checking connectivity... done.
ふう。。。
8. 6.0から7.13へのマイグレーション
公式ガイドに従って作業
$ sudo service gitlab stop
$ sudo apt-get install build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl
$ mkdir /tmp/ruby && cd /tmp/ruby
$ curl --progress http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.6.tar.gz | tar xz
$ cd ruby-2.1.6
$ ./configure --disable-install-rdoc
$ make
$ sudo make install
$ sudo gem install bundler --no-ri --no-rdoc
$ cd /home/git/gitlab
$ sudo -u git -H git checkout Gemfile Gemfile.lock db/schema.rb
$ sudo -u git -H git fetch --all
$ sudo -u git -H git checkout -- db/schema.rb
$ sudo -u git -H git checkout 7-13-stable
$ sudo apt-get install logrotate
$ sudo apt-get install pkg-config cmake
$ sudo apt-get install libkrb5-dev
$ sudo apt-get install nodejs
# Configure redis to use sockets
$ sudo cp /etc/redis/redis.conf /etc/redis/redis.conf.orig
# Disable Redis listening on TCP by setting 'port' to 0
$ sed 's/^port .*/port 0/' /etc/redis/redis.conf.orig | sudo tee /etc/redis/redis.conf
# Enable Redis socket for default Debian / Ubuntu path
$ echo 'unixsocket /var/run/redis/redis.sock' | sudo tee -a /etc/redis/redis.conf
# Be sure redis group can write to the socket, enable only if supported (>= redis 2.4.0).
$ sudo sed -i '/# unixsocketperm/ s/^# unixsocketperm.*/unixsocketperm 0775/' /etc/redis/redis.conf
# Activate the changes to redis.conf
$ sudo service redis-server restart
# Add git to the redis group
$ sudo usermod -aG redis git
# Configure Redis connection settings
$ sudo -u git -H cp config/resque.yml.example config/resque.yml
# Change the Redis socket path if you are not using the default Debian / Ubuntu configuration
$ sudo -u git -H editor config/resque.yml
# Configure gitlab-shell to use Redis sockets
$ sudo -u git -H sed -i 's|^ # socket.*| socket: /var/run/redis/redis.sock|' /home/git/gitlab-shell/config.yml
$ cd /home/git/gitlab-shell
$ sudo -u git -H git fetch
$ sudo -u git -H git checkout v2.6.3
$ cd /home/git/gitlab
$ sudo -u git -H bundle install --without development test mysql --deployment
$ sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production
migration途中でエラー発生
== 20140416074002 AddIndexOnIid: migrating ====================================
Remove Issue duplicates for iid: and project_id: 340
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
undefined method `shift' for #<Issue::ActiveRecord_Relation:0x007f068ff444e8>/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/activerecord-4.1.11/lib/active_record/relation/delegation.rb:136:in `method_missing'
上記リンクを参考に、PRの内容でマイグレーション処理を修正する。
$ sudo vim db/migrate/20140416074002_add_index_on_iid.rb
# if items.size > 1
if items.is_a?(Array) && items.size > 1
マイグレーションを再開。
$ sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production
$ sudo -u git -H bundle exec rake migrate_iids RAILS_ENV=production
$ sudo -u git -H bundle exec rake assets:clean assets:precompile cache:clear RAILS_ENV=production
$ sudo chmod u+rwx,g+rx,o-rwx /home/git/gitlab-satellites
$ sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
設定ファイルを新バージョンの仕様に合うように編集します。
- Make
/home/git/gitlab/config/gitlab.yml
the same as https://gitlab.com/gitlab-org/gitlab-ce/blob/7-13-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-13-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.6.0/config.yml.example but with your settings.
pumaからunicornに変更になったこともあり、いくつか修正が必要。
$ sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml
$ sudo vim config/gitlab.yml
# host,email_from等を修正
$ sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb
$ sudo -u git -H cp /home/git/gitlab-shell/config.yml.example /home/git/gitlab-shell/config.yml
$ sudo -u git -H cp config/initializers/rack_attack.rb.example config/initializers/rack_attack.rb
$ sudo cp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab
$ sudo cp lib/support/nginx/gitlab /etc/nginx/sites-available/gitlab
$ sudo vim /etc/nginx/sites-available/gitlab
listen 80;
server_name git-migration.example.com;
$ sudo service gitlab start
$ sudo service nginx restart
$ 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
gitlab:checkに怒られたので、指示に従って作業して再チェック。
$ sudo -u git -H /home/git/gitlab-shell//bin/create-hooks
$ sudo -u git -H "/usr/bin/git" config --global core.autocrlf "input"
$ sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
以上で7.13へのマイグレーションは完了。
9. マイグレーション環境のデータを新環境に取り込み
公式ガイドに従って、データのダンプと取り込みを行う。
まずはマイグレーション環境でダンプを実行。
$ cd /home/git/gitlab
$ sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production
このコマンドで/home/git/gitlab/tmp/backups/XXXXXXXXXX_gitlab_backup.tar
が生成されるので、新環境に転送する。
(XXXXXXXXXXはタイムスタンプなので、各自の環境で読み替えて下さい。)
新環境でバックアップファイルを指定場所に移動し、リストアコマンドを実行する。
$ sudo mv /home/hoge/XXXXXXXXXX_gitlab_backup.tar /var/opt/gitlab/backups/
$ sudo chown git:git /var/opt/gitlab/backups/XXXXXXXXXX_gitlab_backup.tar
$ sudo gitlab-ctl stop unicorn
$ sudo gitlab-ctl stop sidekiq
$ sudo gitlab-rake gitlab:backup:restore BACKUP=XXXXXXXXXX
$ sudo gitlab-ctl stop
$ sudo gitlab-ctl start
以上で、新環境へのデータのインポートは完了です。