搭建gerrit+git+repo管理代码

本文档基于ubuntu 14.04系统

一、准备工作

1、安装基础的程序

sudo apt-get install ssh

sudo apt-get install git


2、生成密钥对

ssh-keygen -t rsa

PS:连续三次回车,即在本地生成了公钥和私钥,不设置密码,生成的公钥私钥在~/.ssh目录下,id_rsa是私钥, id_rsa.pub是公钥 


二、GIT服务器建立(基于GITOLITE)

1 、服务器安装(服务端操作):

a) 创建 git 账户:
sudo adduser --system --shell /bin/bash --group git
sudo passwd git


b) 下载源码: git clone https://github.com/sitaramc/gitolite.git


c) 以“git”账户登录Linux 系统/ 或者直接:
su - git


d) 确保“~/.ssh/authorized_keys”为空或者不存在。


e) 拷贝服务器管理员的公钥到“$HOME/YourName.pub”。


f) 执行:
mkdir -p $HOME/bin


g) 执行下列命令安装,不同版本安装方法不同,请参考源码中的文档:
gitolite/install -to $HOME/bin


h) 执行:
$HOME/bin/gitolite setup -pk YourName.pub (管理员的公钥)


2、给GIT 用户添加下载权限(还是服务端操作)

a)如果没有就在$HOME 帐号下建一个.ssh 隐藏目录,并且把管理员帐号下面的id_rsa(就是私钥) 复制到刚建立的.ssh 下

b)切到ROOT 帐号下
sudo su

c)更改组权限
chown git:git id_rsa*


d)退出ROOT
exit


e)登录git 帐号
su - git


h)改权限(注意私钥必须是600,权限太高的话不行)
sudo chmod 600 .ssh/id_rsa*


3、使用 gitolite-admin 来管理服务器权限

相关概念资料,请搜索progit 文档阅读理解。

a) 克隆 gitolite 管理仓库:

git clone ssh://git@host/gitolite-admin.git
说明:/git@host
host 表示服务器的IP 地址或域名
例如,服务器的 IP 是192.168.1.200
那git 管理仓库是git clone ssh://[email protected]/gitolite-admin.git


b) 添加用户公钥
cp username.pub keydir/username.pub


c) 添加管理员用户
vi conf/gitolite.conf
@admin = admin1 admin2 admin3
repo gitolite-admin
RW+ = @admin


d) 提交生效
每次修改conf/gitolite.conf 内容都要提交才会生效
git add conf/gitolite.conf
git commit “add usergroup”
git push origin master


还需要以下两项功能的请移步:

  3、Gitdaemon(守护进程,开放一个公共的 git clone 服务,可选)
  4、Gitweb(提供像Github一样的Web服务,通过浏览器查看版本库记录,可选)

http://blog.chinaunix.net/uid-26185912-id-3351963.html

三、REPO镜像安装

待续

你可能感兴趣的:(搭建gerrit+git+repo管理代码)