CentOS6.5 Gitolite构建Git镜像服务器
来源:互联网 发布:得熊猫者得天下知乎 编辑:程序博客网 时间:2024/05/17 02:40
若有大量其他的客户机与Git服务器不在同一个数据中心,这样在批量进行Git克隆等操作时,会出现专线带宽长时间占用、操作速度缓慢等现象,而长时间占用带宽会给业务带来不良影响。解决这种现象,我们可以在客户机所在的数据中心搭建一台Git镜像服务器(Git镜像服务器与Git服务器相同,客户机可以直接从这台服务器进行克隆等操作)。
下面来进行Git镜像服务器的构建:
一、环境准备
三台CentOS6.5 系统服务器,一台做客户机,两台做服务机,配置如下:
客户机:
主机名:gclient.ylhb.com
IP:10.0.0.201
hosts绑定:
10.0.0.211 gserver1.ylhb.com 10.0.0.212 gserver2.ylhb.com
主服务机1:
主机名:gserver1.ylhb.com
IP:10.0.0.211
hosts绑定:
10.0.0.211 gserver1.ylhb.com 10.0.0.212 gserver2.ylhb.com
镜像服务机2:
主机名:gserver2.ylhb.com
IP:10.0.0.212
hosts绑定:
10.0.0.211 gserver1.ylhb.com 10.0.0.212 gserver2.ylhb.com
二、安装及配置gitolite(两台服务机上)
1.安装git及相关包
yum install zlib-devel perl-CPAN perl-devel curl-devel gettext expat-devel gettext-devel openssl-devel perl-Time-HiRes git -y
2.创建git用户
useradd -d /data/git git echo '111111' | passwd --stdin git
3.安装gitolite
su - git mkdir bin git clone https://github.com/sitaramc/gitolite.git ./gitolite/install --to /data/git/bin/
4.生成git用户秘钥对
ssh-keygen -t rsa #一直回车
5.创建.ssh/config文件并分别配置如下
主服务机1:
vim /data/git/.ssh/confighost gserver2user githostname 10.0.0.212identityfile /data/git/.ssh/id_rsa文件权限设置为644
chmod 644 /data/git/.ssh/config镜像服务机2:
vim /data/git/.ssh/confighost gserver1user githostname 10.0.0.211identityfile /data/git/.ssh/id_rsa文件权限设置为644
chmod 644 /data/git/.ssh/config
三、客户端生成秘钥对,为gitolite配置管理员
客户机:
安装git
yum install git -y
创建git用户(root用户下)
useradd gitecho '111111' | passwd --stdin git生产git用户密钥对
ssh-keygen -t rsa #一直回车上传公钥到两台服务机,并改文件名为admin.pub
scp .ssh/id_rsa.pub git@10.0.0.211:/tmp/admin.pubscp .ssh/id_rsa.pub git@10.0.0.212:/tmp/admin.pub
下载服务机1上的git用户的SSH公钥,并该文件名为server-server1-pub
scp git@10.0.0.211:~/.ssh/id_rsa.pub /tmp/server-gserver1.pub
两台服务机:
切换到git用户,为gitolite配置管理员
su - git./bin/gitolite setup -pk /tmp/admin.pub
四、客户机克隆gitolite管理库并配置
切换到git用户,创建两个目录gserver1和gserver2,分别克隆主服务机和镜像服务机管理库
gserver1目录下:
git clone git@10.0.0.211:gitolite-admin.git cd gitolite-admincp /tmp/server-gserver1.pub keydir/配置conf/gitolite.conf
vim conf/gitolite.confrepo gitolite-admin RW+ = admin server-server1 repo testing RW+ = @all提交到远程
git add . && git commit -m "1" && git push
gserver2目录下:
git clone git@10.0.0.212:gitolite-admin.git cd gitolite-admincp /tmp/server-gserver1.pub keydir/配置conf/gitolite.conf
vim conf/gitolite.confrepo gitolite-admin RW+ = admin server-server1 repo testing RW+ = @all提交到远程
git add . && git commit -m "1" && git push
验证:
主服务机上,git用户下执行以下命令
ssh gserver2 info
出现hello server-gserver1, this is git@gserver2 running gitolite3 v3.6.5-4-g6ed0156 on git 1.7.1则配置成功
五、配置mirror功能
客户机上、git用户gserver1、gserver2目录下,分别配置gitolite.conf如下,并提交
repo gitolite-admin RW+ = admin server-gserver1 option mirror.master = gserver1 option mirror.slaves = gserver2 option mirror.redirectOK = all repo testing RW+ = @all option mirror.master = gserver1 option mirror.slaves = gserver2 option mirror.redirectOK = all提交更改到远程
git add . && git commit -m "2" && git push主服务机1上,git用户下修改".gitolite.rc"文件
vim .gitolite.rcHOSTNAME => "gserver1", 'mirror', 'Mirroring',镜像服务机上,git用户下修改".gitolite.rc"文件
vim .gitolite.rcHOSTNAME => "gserver2", 'mirror', 'Mirroring',
以上即完成镜像服务器配置。
六、测试验证
客户机上,git用户gserver1目录下克隆主服务机1的测试库,在里面创建文件并提交,看是否能同步到镜像服务机2
git clone git@10.0.0.211:testing.gitcd testing/echo "ylhb" > ylhbgit add . && git commit -m "3" && git push origin master客户机上,git用户gserver2目录下克隆镜像服务机2的测试库,查看testing里是否有文件ylhb。
git clone git@10.0.0.212:testing.gitls testing可以看到文件同步,则镜像服务器配置成功。
- CentOS6.5 Gitolite构建Git镜像服务器
- CentOS6.5 Gitolite构建Git服务器
- Gitolite 构建 Git 服务器
- Gitolite 构建 Git 服务器
- Gitolite构建Git服务器
- Gitolite 构建 Git 服务器
- Gitolite 构建 Git 服务器
- Gitolite 构建 Git 服务器
- Gitolite 构建 Git 服务器
- Gitolite 构建 Git 服务器
- Gitolite 构建 Git 服务器
- Gitolite 构建 Git 服务器
- Gitolite 构建 Git 服务器
- Gitolite 构建 Git 服务器
- Gitolite 构建 Git 服务器
- gitolite构建git服务器
- 1gitolite构建git服务器
- CentOS6.5配置git + gitolite服务器and Windows客户端配置
- Ice的基础使用(一)
- 多元统计分析基础
- 自定义View进阶(一)——爱的贝塞尔曲线
- 插入排序
- SSH网上商城环境搭建
- CentOS6.5 Gitolite构建Git镜像服务器
- 【机房合作】——备忘录模式
- Android SD卡简单的文件读写操作
- Intent之Component
- 算法训练 矩阵乘方
- 蓝桥杯:查找整数
- JavaScript概述
- 第一周------继续
- linux-matlab2015b安装步骤