将 Gitlab 和 Gitolite 服务器移至另一台机器

Sam*_*Mie 4 ubuntu git gitolite gitlab

现在,我的 ubuntu 服务器上运行着 gitlab 和 gitolite。但是,这台服务器太慢了,我的公司希望将服务器移到另一台机器上。有没有办法将 gitlab 和 gitolite 服务器(整个文件、用户和设置)移动到另一台机器上?

再次安装和创建所有用户和存储库将是我的最后选择。先感谢您。

c2h*_*2h2 6

我经常通过每小时 crontab 作业来执行此操作,以加快本地部署。(它创建原始服务器的精确副本,用作只读镜像,我个人称其为傀儡机)。

您需要做的就是:

  1. 备份/恢复mysql数据(工具:mysqldump / mysql <backup.sql.txt)
  2. 将所有 gitlab www 复制到新机器(scp、rsync)
  3. 将所有 gitolite 目录复制到新机器(rsync)

您可以随时运行以下命令来测试人偶是否运行成功。

bundle exec rake gitlab:app:status RAILS_ENV=production
Run Code Online (Sandbox Code Playgroud)

一些详细的程序:

我通过使用 ubuntu 12.04 gitolite apt-get install 完成了 mime 设置,根据官方指南休息,我还给自己做了一些笔记:

自动(无密码)rsync/scp 过程需要 SSH 私钥/公钥,如果您不明白请阅读http://troy.jdmz.net/rsync/index.html

在原始机器工作后,您需要设置的只是一些 cron 作业:这也是在线镜像。(您不需要重新启动任何网络服务器/机器)

镜像机上的 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
Run Code Online (Sandbox Code Playgroud)

服务器上的 crontab:

7 * * * * mysqldump -p"secure password" gitlabhq_production -u root > /root/mysql_hourly_dump.txt
Run Code Online (Sandbox Code Playgroud)