GitLabをVMからcontainerに移行した話

弊学科で運営している GitLab をVMからcontainerに移行したので色々書いていきます。

移行の背景

弊学科ではVMベースで様々なサービスを提供していましたが、よりメンテナンスブルなコンテナを使用したサービス提供に移行している最中です。 その一環としてVMに構築していたGitLabをコンテナに移行しました。

元々の環境

  • KVM上でUbuntu version20をベースにGitLabを構築していた
  • VM立ち上げてGitLabのサービスが使えるようになるまで10~20分くらいかかる

新環境

  • docker image を使用
  • コンテナ立ち上げてGitLabのサービスが使えるようになるまで5分くらいかかる(多分

移行手順

旧GitLabからデータを吸い出す
  • ワンコマンドでデータを吸い出せます。
gitlab-rake gitlab:backup:create

ただ下記のメッセージで説明があるように一部吸い出してくれないデータがあるのでそいつは手動で持っていきましょう。

 2022-10-01 12:01:43 +0900 -- Warning: Your gitlab.rb and gitlab-secrets.json files contain sensitive data 
 and are not included in this backup. You will need these files to restore a backup.
 Please back them up manually.
リストアする

新GitLabに移り以下のコマンドでリストアします。

gitlab-rake gitlab:backup:restore BACKUP=hogehoge

あと gitlab.rb と gitlab-secrets.json も持っていく感じで。

諸々の設定

弊学科だとFortigateを使用しているのでコソコソ設定してました。 あとDNSがキャッシュを永遠にみてたので再起動したり...

gitlab-runnerも使用していたのでそこの初期化も必要な感じでした。

感想

VMだと動いているOSのメンテもしないといけないのですが、コンテナに移したおかげでサービスのメンテに集中できていい感じになりそう。

参考サイト