Humanity

Edit the world by your favorite way

Gitlabの移行作業

Gitlabをテスト用のコンテナにインストールしてたけど、必要性が増してきたので独立したコンテナに移行した。その際の移行作業メモ。

注意事項

  • 基本的にこの記事の通りにインストールした環境向けなので、パスなどは適時読み替えてください。
  • 当たり前だけどパーミッションはLXCでもLXCでなくても注意。文中では「コピー」とだけ書いてありますが、LXCの場合、違うコンテナではuidが違うユーザに割り振られているかもしれないのでその辺は適時変えてください。

手順

  • Gitlabの移行
    • /opt/gitlabhqを移行先にコピー
  • Nginxの移行
    • /opt/nginxを移行先の/opt/nginx.bakにコピーしたあと、この記事の通りに「sudo gem install passenger --no-rdoc --no-ri; sudo passenger-install-nginx-module」でPassengerとNginxをインストール。インストール後に/opt/nginx.bakから/opt/nginxへ(比較しつつ)設定ファイルなどをコピー
    • 設定ファイル、鍵ファイルを移行先にコピー
    • /etc/init.d/nginxを移行先にコピー (自分の環境のみ。参考記事の手順にはない。apt-get install nginxでインストールされたものに編集を加えたもの)
  • MySQLの移行
  • Redisの移行
    • (移行元) redis-cli bgsave
    • (移行元) date --date "@`redis-cli lastsave`" +"%Y/%m/%d %H:%M" # ここで現在の時刻に近い時刻が返ってきたら、保存されている
    • (移行元) sudo service redis-server stop
    • (移行元) cp /var/lib/redis/dump.rdb{,.`date +%Y-%m-%d`}
    • (移行先) mv /var/lib/redis/dump.rdb{,.original}
    • (移行先) cp dump.rdb /var/lib/redis/
    • /var/lib/redis/dump.rdb をそのままコピーしてもよさそうだけど一応バックアップ取っておく
    • 参考ページ:Redisのバックアップ - BTT's blog
  • Gitoliteの移行
    • /var/lib/gitolite/repositories/ 以下の必要なリポジトリをコピー