DSM7の為にGitLabからGitLabへの移行

SynologyのDSMを7にアップする際、今までのGitLabが存在するとアップできない為、別のGitLabへ移行した際のメモです

参考にする場合は自己責任でお願いします

  • 移行元
    • Synology DSM 6.2.4-25556
    • Synology のパッケージマネージャから入れたGitLab
    • GitLabのバージョンは13.12.2-0072
    • 実態はSynology DSMで動いているDocker上で動くGitLabコンテナ
      • gitlab本体以外にPostfresqlとredisが付いてくる仕様
  • 移行先
    • GitLab CE のDockerコンテナ(GitLabが提供しているイメージから)
    • 深く考えずlatest
    • Synology DSM上のDocker上で動かす
      • 他のコンテナに依存しないスタンドアロン仕様

以下移行した手順

  1. Synology DSMのDocker GUIからgitlab/gitlab-ceを検索してイメージを取得
    1. 深く考えずlatest
  2. イメージからコンテナを起動する
    1. 次のURLを参考に、dataとlogsとconfigをコンテナの外に保存する設定を追加
    2. https://docs.gitlab.com/ee/install/docker.html
  3. 新しいGitLabを起動後、最初に画面を開いた時点でrootのパスワードを設定する
    1. と以下のURLに書いてあるが、設定画面が出てこない
    2. https://docs.gitlab.com/ee/install/docker.html
    3. 代わりに、以下を参考にしてコマンドでパスワードを設定する
    4. https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.
  4. 普段のユーザーを追加
  5. 古いGitLabから新しいGitLabにリポジトリの移行
    1. 古いGitLabでgitlab-rakeコマンドが無いのかパスが通っていないのか、一括で移行できそうな方法が無理なので断念
    2. 新しいGitLabから古いGitLabのリポジトリを指定してクローン、Dockerのホストが同じためIPが同じで拒否され断念(ポートが違うけど見てくれない)
    3. 古いGitLabでリポジトリをエクスポートして、新しいGitLabでインポートする。これは上手く行った
  6. その他、必要なら設定

特にエクスポートからインポートで消えるデータなどは気にする必要が無いので楽でした。とはいえ本来ならコマンドで一括かつ簡単に移行できそうな所なので、調査不足感は否めない終わりでした