搭建Gitolite鏡像伺服器

本人也是小菜鸟一个,这几天折腾一下Gitolite的镜像服务器,上网找了一些资料,参考了几个前辈的文章,最后总算是搭成了,记录一下以备忘。不一定全正确

1、登陆本地管理账号,我们这里用root,用ssh-keygen生成一个管理公钥




    		    搭建Gitolite鏡像伺服器

2、在主备服务器上安装gitolite之前装好相关的软件

apt-get install git-core openssh-server

同时新建git用户

adduser --system --shell /bin/bash--group git

到root用户下,将生成的公钥文件拷贝到主备服务器上并命名为,安装时用该公钥做为管理员公钥,中间会要求输入一次git用户的密码

scp .ssh/id_rsa.pub git@gitserver:~/admin.pub

scp .ssh/id_rsa.pub git@gitmirror:~/admin.pub




    		    搭建Gitolite鏡像伺服器

到主备服务器登陆git用户,同样的用ssh-keygen命令生成各自的公钥文件,然后在.ssh目录下新建一个config的配置文件,将文件的内容指向对方服务器




    		    搭建Gitolite鏡像伺服器
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/25/23/wKioL1NZ2tPS67wmAABK7zYwc3E685.jpg" style="float:none;" title="image007.png" alt="wKioL1NZ2tPS67wmAABK7zYwc3E685.jpg" />

3、下载并安装Gitolite

下载Gitolite: git clone git://github.com/sitaramc/gitolite

在git家目录下新建一个bin目录,并把bin目录加入系统变量




    		    搭建Gitolite鏡像伺服器

开始安装Gitolite,要使用之前传过来的admin.pub公钥




    		    搭建Gitolite鏡像伺服器

镜像服务器上也进行一样的安装操作




    		    搭建Gitolite鏡像伺服器

4、回到管理员帐户root用户下(我这里用的是root用户直接管理,也可能建其它用户作为权限管理用户),分别下载主备服务器上的管理仓库gitolite-admin并命名为gitserver和gitmirror




    		    搭建Gitolite鏡像伺服器

分别将之前主服务器上git用户生成的公钥复制到gitserver和gitmirror目录下的keydir目录中并将公钥命名为以server-开头的公钥,该公钥用来主备服务器同步使用




    		    搭建Gitolite鏡像伺服器

修改gitserver和gitmirror目录下conf/gitolite.conf配置文件,将server-gitserver加入gitolite-admin仓库的写权限中




    		    搭建Gitolite鏡像伺服器

修改完成后用将修改提交到服务器中




    		    搭建Gitolite鏡像伺服器

提交后到主服务器用git用户登陆后可以验证公钥是否生效

ssh gitmirror info




    		    搭建Gitolite鏡像伺服器

看到以hello server-xxxxx开头的信息则生效了

5、配置主备服务器的镜像

到管理员root处修改gitserver和gitmirror目录下conf/gitolite.conf配置文件在gitolite-admin仓库下添加下面的内容

optionmirror.master = gitserver
option mirror.slaves = gitmirror
option mirror.redirectOK = all




    		    搭建Gitolite鏡像伺服器

修改完成后,提交




    		    搭建Gitolite鏡像伺服器

分别到主备服务器用git用户登陆,在git家目录下打开.gitolite.rc文件,打开镜像配置,一共要修改三个地方(我用的是gitolite3.5.3.1的版本,早期的版本修改的地方会有不同)




    		    搭建Gitolite鏡像伺服器

=>




    		    搭建Gitolite鏡像伺服器




    		    搭建Gitolite鏡像伺服器
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/25/23/wKiom1NZ3Avia3AKAABJ504sQLU358.jpg" title="image035.png" style="float:none;" alt="wKiom1NZ3Avia3AKAABJ504sQLU358.jpg" />




    		    搭建Gitolite鏡像伺服器

=>




    		    搭建Gitolite鏡像伺服器

修改完成后保存退出这样子gitolite-admin仓库的镜像配置就基本完成了,测试一下吧

在gitserver目录下修改gitolite.conf文件的内容,然后提交到服务器




    		    搭建Gitolite鏡像伺服器




    		    搭建Gitolite鏡像伺服器

到gitmirror目录下git pull看看有没有更新




    		    搭建Gitolite鏡像伺服器

提示有冲突了,说明主服务器上的更新己到镜像服务器了,但是和你之前下载的有冲突了,重新clone一次镜像服务器上的gitolite-admin目录,这时再看看




    		    搭建Gitolite鏡像伺服器

更新成功了。

这样子你只要将要同步的仓库下设置镜像配置,对就应的仓库每次提交后都会自动同步到镜像服务器中,当然你也可以对所有的仓库都同步,只要这样子配置一下就可以了




    		    搭建Gitolite鏡像伺服器

提交吧,这样子就不对针对每个仓库都设置了

注意,以后要新建仓库只要在配置文件中设置好仓库名称及相应的权限,在提交后系统就会自动根据配置文件来创建仓库,这样子后面的同步才会生效,否则如果你手动建仓库的话则要把gitolite重新装一次。如:




    		    搭建Gitolite鏡像伺服器




    		    搭建Gitolite鏡像伺服器

本文出自 “月夜逛大街” 博客,请务必保留此出处http://lseaside.blog.51cto.com/92033/1402690

更多相关文章
  • 需求: 在外网搭建一台git服务器,大家在任何联网的地方可以向git服务器提交.clone,如果一个仓库特别大,在公司clone一个仓库的时候会使用时间过长,带宽占用等不利的因素,那我们在公司内网搭建一台镜像服务器,clone代码的时候可以从镜像服务器clone,会省很多时间,下面我们开始. 我是参
  • nginx+nginxrtmpmodule+ffmpeg搭建流媒體伺服器
    Nginx本身是一个非常出色的HTTP服务器,FFMPEG是非常好的音视频解决方案.这两个东西通过一个nginx的模块nginx-rtmp-module,组合在一起即可以搭建一个功能相对比较完善的流媒体服务器. 这个流媒体服务器可以支持RTMP和HLS(Live Http Stream) 从安装开始 ...
  • 


    		    centos5.3搭建DNS多域名解析伺服器
    centos5.3下搭建DNS服务器 一.域名与域名解析 网络中为了区别各个主机,必须为每
  • 开发团队配置好Maven之后,每次maven生成默认在C:\Documents and Settings\Administrator\.m2,但每次都需要从maven官网去下载请求所需要的jar包,这样就增加开发成本
  • 


    		    Linux下使用Apache搭建Web網站伺服器
    Linux下使用Apache搭建Web网站服务器 实验目标 apache服务器常见概念 apache服务器安装及相关配置文件 实战: 例1:为公司内网搭建一个web服务器 例2:取消apache默认欢迎页: 例3:使用rpm搭建lamp 环境 例4, 使用别名,引用网站根目录以外的路径. 例6:打开
  • 


    		    搭建Office 2010 KMS伺服器
    上一篇博文已经谈到搭建Windows 的KMS服务器,在此基础上在搭建Office的 KMS服务器就方便多了.Office 2010 的KMS服务器激活分为两种方式,第一种方式是通过电话激活,第二种方式是通过网络方式激活. 如果您的组织有 50 台或更多需要激活 Office 2010 的计算机,我
  • 


    		    RedHat el5.0 搭建 Postfix 郵件伺服器系統<一
    RedHat el5.0 搭建 Postfix 邮件服务器系统 (postfix+cyru
  • /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-sty
一周排行