5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GitLab 5.3から7.13へのアップグレード作業ログ

Last updated at Posted at 2015-11-03

About

少し前に、社内のGitLabを5.3から7.13にアップグレードしたので、その際の作業ログを残しておきます。
今後、同じような作業(というか苦行)をする人のお役に立てれば。。

なお、作業時点での最新版は7.13でしたが、現在は8.Xです。今後作業する場合は、適宜読み替えて下さい。

アップグレード前の状況

  • 3.Xの時代から何度かアップグレードしながら利用していて、現在は5.3で運用中
  • OSはUbuntu

アップグレード計画

新環境はOmnibus版で運用したかったため、アップグレード計画を以下のように立てました。

  • 新規サーバにGitLab 7.13を新環境として構築し、現環境のデータをマイグレーションしてインポートする。
  • マイグレーションは、新規サーバにマイグレーション専用の環境を用意し、公式ガイドに従って下記3ステップで行う。
    1. MySQLからPostgreSQLにコンバート
      • 最新GitLabでは、MySQLのサポートがPro版のみorz
    2. 5.3 -> 5.4
    3. 5.4 -> 6.0
    4. From 6.x or 7.x to 7.13
  • 最後にDNSを新環境に切り替えて移行を行う

この流れを可視化すると、次のようになります。

gitlab.png

作業ログ

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.sqlrepositories_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

設定ファイルを新バージョンの仕様に合うように編集しますが、自分の環境では特に変更は必要ありませんでした。

起動スクリプトの設置と、インストールの最終チェックを行う。

@マイグレーション環境
$ 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を修正する。

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

設定ファイルを新バージョンの仕様に合うように編集しますが、自分の環境では特に変更は必要ありませんでした。

@マイグレーション環境
$ 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では大きな変更が入っているので、ここで動作確認をしておく。

@自分のPC
$ 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をマイグレーション環境にコピーして再トライ。

@自分のPC
$ 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になっている模様。

/home/git/gitlab-shell/gitlab-shell.log
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を再起動。

/etc/nginx/sites-available/gitlab
server {
  # 全てのIPでlisten
  listen 80;
  # server_nameを指定
  server_name git-migration.example.com;
  ...
}

再トライ。

自分のPC
$ 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

設定ファイルを新バージョンの仕様に合うように編集します。

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

以上で、新環境へのデータのインポートは完了です。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?