Gitolite 迁移
起因:由于公司服务器到期,之前服务器在个人名下,现在需要使用公司的账号去购买aliyun ecs 云服务器,故需要迁移。
- 使用 rsync 将旧服务器上的版本库 repositories 与配置文件等同步到 要迁移的新服务器
..*.229 下的 /home/gitolite repositories
rsync -avzP -e 'ssh -p 10022' ./repo.tar.gz root@*.*.*.28:~/repo
/root/gitolite-admin 下的 conf,keydir 也要同步过去
注意:复制后的目录文件的所属主是否为gitolite,否则再clone,push时可能出现权限异常
chown -R gitolite:gitolite repositories
- 将root用户的公钥,复制一份并重命名
cp ~/.ssh/id_rsa.pub /tmp/admin.pub
新建一个gitolite 用户,用以安装Gitolite
useradd gitolite
passwd gitolite
切换到 gitolite 用户:su - gitolite
- 在用户家目录下载源代码
cd ~
git clone http://github.com/sitaramc/gitolite
mkdir -p ${HOME}/bin
指定管理员公钥
${HOME}/bin/gitolite setup -pk /tmp/admin.pub
到这里,Gitolite已经安装完成
4.切回到root, 配置 .ssh目录下的 config
host ducetech
HostName *.*.*.28
Port 10022
User gitolite
克隆管理项目 gitolite-admin
git clone ducetech:gitolite-admin
进入gitolite初始化后的目录gitolite-admin内,将之前线上config和keydir内文件全部拷贝过来
git status
git add .
git commit -m "add config + key"
git push
将原有的giolite的repositories下的文件拷贝到新服务器的repositories下
最后在gitolite-admin中git pull获取最新的数据
网友评论