注册

CentOS搭建Git版本管理服务器(gitolite)

嗨豆壳技术文章 时间:2016-09-02 09:10:28 [ray]

本文介绍git版本管理服务器搭建,并使用gitolite进行权限管理,如果考虑使用git进行代码管理(本配置方式实测可用)。

1、首先安装Git,可以使用yum源在线安装,通常系统会提示安装git的相关依赖包,yes就好
yum install git
2、创建一个git用户,用来运行git服务(提示:这步不是必须,但是建议使用单独用户运行git)
adduser git

切换到git用户,并在主目录下创建bin目录

su - git
mkdir -p ~/bin

克隆gitolite安装包,并使用git生成ssh-key,然后使用公钥进行安装gitolite,用作gitolite的初始管理账户。

git clone git://github.com/sitaramc/gitolite
gitolite/install -to ~/bin
gitolite setup -pk yourname.pub

服务器上会生成 gitolite-admin 项目,会有keydir和conf两个文件夹

在客户端把gitolite-admin克隆下来(不建议在同一台机子操作),conf文件中的用户与keydir中的文件名对应

git clone git@192.168.1.11:gitolite-admin
# 如果你已经配置ssh免密登录
git clone ssh://git@192.168.1.11/gitolite-admin.git

编辑conf/gitolite.conf文件,添加新的repo,并提交推入服务器(推入后gitolite会自动生成这个repo,不需要手动创建)

git add gitolite.conf
git commit -m "add repo"
git push

添加用户,客户端统一都是使用git用户链接服务端(gitolite使用单一的用户入口进行权限管理),使用新的账户生成ssh-key,把公钥提交到keydir文件夹(注意改名方便管理),并push到git服务器,推入后查看服务器git用户下.ssh/authorized_keys文件内是否已经添加了此用户公钥(所有git用户公钥都在此文件中)

如果你在同一客户端使用不同的账户链接git服务器。需要注意的是。配置ssh的时候,只需要配置root账号的.ssh/config,在切换到别的用户时,不需要另外配置该用户~/.ssh/config,只要该用户的私钥和root的.ssh/config配置中的名称一致即可(默认id_rsa)。

官方安装文档:https://github.com/sitaramc/gitolite

标签

本文地址:https://www.hi-docs.com/article/168.html

上一篇:详解CentOS下搭建Git版本管理服务器

下一篇:linux date命令实现日期时间和Unix时间戳转换