これで、ubuntuサーバーでgitlabとgitoliteを実行しています。ただし、このサーバーは遅すぎるため、私の会社はサーバーを別のマシンに移動したいと考えています。 gitlabとgitoliteサーバー(ファイル全体、ユーザー、設定)を別のマシンに移動する方法はありますか?
すべてのユーザーとリポジトリを再度インストールして作成することが、私の最後の選択です。前もって感謝します。
ローカル展開を高速化するために、毎時crontabジョブでこれを常に実行しています。 (元のサーバーの正確なコピーを作成し、読み取り専用ミラーとして機能します。個人的にはパペットマシンと呼んでいます)。
あなたがする必要があるのは:
次のコマンドをいつでも実行して、パペットが正常に実行されているかどうかをテストできます。
bundle exec rake gitlab:app:status Rails_ENV=production
いくつかの詳細な手順:
私はubuntu12.04 gitolite apt-get installを使用してmimeのセットアップを行い、公式ガイドで休憩しました。また、いくつかのメモを作成しました。
Plz read http://troy.jdmz.net/rsync/index.html を理解していない場合、自動化された(パスワードなしの)rsync/scpプロセスにはSSH秘密/公開鍵が必要です。
セットアップする必要があるのは、元のマシンが動作した後のいくつかのcronジョブです。これもonlineミラーです。 (Webサーバー/マシンを再起動する必要はありません)
ミラーマシンのcrontab:
58 * * * * rsync -zav root@my_remote_server.com:/home/git /home
11 * * * * rsync -zav root@my_remote_server.com:/root/mysql_hourly_dump.txt /root
15 * * * * mysql -u root -p"secure password" gitlabhq_production < mysql_hourly_dump.txt
20 * * * * rsync -zav --delete my_remote_server.com:/www/ /www
サーバー上のcrontab:
7 * * * * mysqldump -p"secure password" gitlabhq_production -u root > /root/mysql_hourly_dump.txt
ジトライトの移動は簡単なようです。
~/.ssh/authorized_keys
にあることを確認する必要があります(したがって、主にそのファイルをコピーする必要があります)repositories
、.gitolite
、および.gitolite.rc
ファイルを移動する必要があります(最後のファイルのパスを確認してください)「ユーザー」は、gitoliteファイルとgitlabデータベースでのみ宣言されます。
GitLabを再インストールし(使用しているすべてのgemがあり、最初のインストールに基づいて固定パスで使用されている可能性があるため)、データベースをUbuntuサーバーからのデータベースに更新/置換する必要があります(ファイルコピーまたはsql export/import)。