现在,我有我的Ubuntu服务器上运行的gitlab和gitolite。 但是,这台服务器太慢,我的公司希望将服务器移动到另一台机器。 有没有办法将gitlab和gitolite服务器(整个文件,用户和设置)移动到另一台机器上?
再次安装和创build所有用户和存储库将是我的最后select。 先谢谢你。
我一直在做这个每小时crontab作业,以加快本地部署。 (创build原始服务器的精确副本,作为只读镜像,我个人称之为木偶机器)。
所有你需要做的是:
您始终可以运行以下命令来testingpuppet运行是否成功。
bundle exec rake gitlab:app:status RAILS_ENV=production
一些详细的程序:
我已经通过使用Ubuntu 12.04 gitolite apt-get安装完成了mime设置,通过官方指南rest,我也做了一些笔记:
自动(无密码)rsync / scp进程需要SSH私钥/公钥,如果你不懂plz,请阅读http://troy.jdmz.net/rsync/index.html
所有你需要设置的是原始机器工作后的一些cron作业:这也是在线镜像。 (你不需要重新启动任何networking服务器/机器)
镜像机器上的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
移动gitolite似乎很容易:
~/.ssh/authorized_keys
仍然在新家的~/.ssh/authorized_keys
中(所以你主要需要复制这个文件) repositories
, .gitolite
和.gitolite.rc
文件(检查最后一个path) “用户”只在gitolite文件和gitlab数据库中声明。
应该重新安装GitLab(因为它使用的所有gem都可以在第一次安装时使用固定path),并且它的数据库更新/replace为Ubuntu服务器的数据库(通过文件复制或通过sql导出/导入)。