CentOS 7下使用Gitolite搭建Git私服

Posted chaos-x

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 7下使用Gitolite搭建Git私服相关的知识,希望对你有一定的参考价值。

 

  1. 搭建环境

CentOS7, git version 1.8.3.1

 

  2. 安装依赖包

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel -y

 

  3.安装 Git

yum -y install git

 

  4.创建git用户

useradd git
passwd git
# 输入再次git用户的密码

# 切换到git用户
su git

 

  5.获取Gitolite版本库并安装配置

   5.1 获取gitolite

git clone https://github.com/sitaramc/gitolite

 

  5.2 创建bin目录并安装gitolite

 

mkdir $HOME/bin
gitolite/install -to $HOME/bin

 

如果是CentOS7在安装可能会报如下错误
技术分享图片
 
原因是:缺少 Data-Dumper-2.154.tar.gz这个包,直接下载安装就ok
wget http://www.cpan.org/modules/by-module/Data/Data-Dumper-2.154.tar.gz
tar xvzf Data-Dumper-2.154.tar.gz
cd Data-Dumper-2.121
perl Makefile.PL
make
make install

 

  6. 配置gitolite管理员

  gitolite 使用特殊的版本库gitolite-admin 来管理用户和版本库,所以需要创建一个管理员来管理所有的用户和版本库

  6.1 生成公钥

  用git用户生成公钥(注:如果你是接着上面一直做下来的,那么只需要输入cd ,然后回车,则就进入了该用户的目录,如果不是git用户,则需要输入su – git,来切换到git用户) 

  •   配置管理员识别
git config --global user.name "admin"
git config --global user.email "[email protected]"

 

  •   生成ssh公钥
cd 
ssh-keygen -t rsa

  然后一路回车。。。

  生成的公钥与私钥在 /home/git/.ssh/ 目录下

技术分享图片

 

   6.2 修改.ssh/id_rsa.pub 为admin.pub(为什么要改成admin.pub 因为gitolite根据这个文件名来设立帐号.我这里用admin

cp .ssh/id_rsa.pub admin.pub

 

  6.3 使用管理员公钥安装gitolite(然后去/home/git/repositories 里面,可以看见仓库文件.gitolite-admin.git 和test.git 一个是管理仓库的,一个是测试用)

$HOME/bin/gitolite setup -pk admin.pub

技术分享图片

 

  6.4 生成管理员管理仓库(不需要输密码)

git clone [email protected]127.0.0.1:gitolite-admin

技术分享图片

 

  进入仓库后可以看到conf 和keydir ,conf/gitolite.conf 是添加用户/仓库的配置, keydir 是放对应用户的公想·x钥.并且此时,admin.pub这个公钥可以删除了

 

  6.5 编辑gitolite.conf

vim gitolite-admin/conf/gitolite.conf

  完成如下图:(可以在项目前面添加文件路径)

 技术分享图片技术分享图片

 

说明:
定义两个用户组:dev、test
定义三个版本库:gitolite-admin、testing、xk-edu
用户组可以设置多个用户,用空格分开,RW+ 是最高权限(读写删)

 

   6.6 分别把添加上去的用户的公钥放到/home/git/gitolite-admin/keydir目录下

  技术分享图片

 

  6.7 把修改添加提交到版本库

cd /home/git/gitolite-admin
git add keydir/test.pub conf/gitolite.conf    添加指定文件
git add .    添加所有文件到git
git commit -am "new project and add user"    引号里面是提交说明
git push origin master    第一次要加origin master,以后直接git push即可

 

  6.8 提交完成后,查看管理员仓库多了个刚才新建的版本库

  6.9 在客户端面测试连接git版本库

  7. 在客户机上安装git程序,右键选择Git Bash

ssh -T [email protected]192.168.30.220.git

技术分享图片

 

   到此gitolite安装成功。

 

 参考:https://www.cnblogs.com/ponyliu/p/5383096.html

 


以上是关于CentOS 7下使用Gitolite搭建Git私服的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7利用Gitolite搭建本地Git服务器

CentOS系统搭建gitolite服务

使用Gitolite搭建Git服务器

CentOS 7搭建GitLab

Centos 7.X 部署基于Git&Gitolite的分布式版本控制系统

使用gitolite搭建Git服务器