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 "admin@XX.com"
  •   生成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 git@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 git@192.168.30.220.git

  到此gitolite安装成功。

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

CentOS 7下使用Gitolite搭建Git私服的更多相关文章

  1. 使用gitolite搭建Git服务器

    使用gitolite搭建Git服务器 运行环境 Ubuntu18.04 gitolite 搭建过程 安装好Ubuntu18.04系统 更新系统 sudo apt update sudo apt upg ...

  2. ubuntu下使用Nexus搭建Maven私服

    ubuntu下使用Nexus搭建Maven私服 1.私服简介: 私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件.有了私服之后,当 Maven 需要下载构件时,直接请求私服, ...

  3. Windows下使用GitStack搭建Git服务器

    Win10下使用GitStack搭建Git服务器 Git是目前世界上最先进的分布式版本控制系统(没有之一). ​ 许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别. ...

  4. [CentOS] 使用gitolite搭建git服务端

    1. 创建用户 #创建gitadmin用户 useradd gitadmin #设置gitadmin密码 passwd gitadmin #创建git用户 useradd git #设置git密码 p ...

  5. # 基于Gitolite搭建Git Server - 支持SSH&HTTP

    Git, 一个分布式的版本管理工具,我认为其革命性的点:在于改变了用户协作的方式,使得协作更简单. 下面讲述 使用一个开源软件 Gitolite搭建一个Git Sever, 并给了一个推荐的团队协助方 ...

  6. 用gitolite搭建git server

    在Ubuntu上测试安装一下git server,为后面项目的代码管理做准备.记录流水账如下, 中间关于git 命令的使用说明不做过多解释,需要了解的请google或者直接git help: 我用到了 ...

  7. Linux下使用Nexus搭建Maven私服

    在开发过程中,有时候会使用到公司内部的一些开发包,显然把这些包放在外部是不合适的.另外,由于项目一直在开发中,这些内部的依赖可能也在不断的更新.可以通过搭建公司内部的Maven服务器,将第三方和内部的 ...

  8. CentOS 6下的VPN搭建

    PPTP 全称为 Point to Point Tunneling Protocol — 点到点隧道协议,是VPN协议中的一种.虚拟专用网(VPN)被定义为通过一个公用网络(通常是因特网)建立一个临时 ...

  9. 在Windows平台下使用Gitblit搭建Git服务器图文解说

    Windows平台下Git服务器搭建 一.java环境变量的设置 下载jdk并配置jdk的环境变量,JAVA_HOME,CLASSPATH以及PATH,最后在DOS窗口输入java -version检 ...

随机推荐

  1. [Swift]LeetCode27. 移除元素 | Remove Element

    Given an array nums and a value val, remove all instances of that value in-place and return the new ...

  2. [Swift]LeetCode914.一副牌中的X | X of a Kind in a Deck of Cards

    In a deck of cards, each card has an integer written on it. Return true if and only if you can choos ...

  3. MyBatis增、删、改、查

    1.config.xml文件的基本配置信息 2.选择数据源 3.mybatis约定 (1)parameterType和resultType 只能传一个参数,但是我们可以传一个数组或者集合,达到传多个参 ...

  4. Java中异常的处理以及自定义异常,抛出异常到方法调用栈底层

    package com.gezhi; /** * 创建一个自定义异常SpendMoneyException类 *  * @author square 凉 * */@SuppressWarnings(& ...

  5. Mysql的两种“排名第几且有可能为空的记录”写法(力扣176)

    编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) . +----+--------+ | Id | Salary | +----+--------+ | 1 | 100 ...

  6. python安装whl文件

    在命令指示符下(cmd)的Python3安装命令为: pip3 install 文件名.whl 安装出错: matplotlib-2.0.0-cp34-cp34m-win_amd64.whl is n ...

  7. 认识Junit基本注解@Before、@After、@Test、@BeforeClass、@AfterClass(转)

    一.unit中集中基本注解,是必须掌握的. @BeforeClass – 表示在类中的任意public static void方法执行之前执行 @AfterClass – 表示在类中的任意public ...

  8. 开发环境配置:jdk8的详细安装教程&&tomact的详细安装教程&&java环境变量的配置&&tomcat启动总失败原因

    1.下载 链接: http://pan.baidu.com/s/1i57HZKx 密码: cnb4 2.详细安装过程 3.下载地址 链接: http://pan.baidu.com/s/1mi6VUp ...

  9. JVM基础系列开篇:为什么要学虚拟机?

    跟许多人一样,我一开始接触 Java 虚拟机只是因为面试需要用到,所以硬着头皮看看.所以很多人对于为什么要学虚拟机这个问题,他们的答案都是:因为面试.但我经过了几年的学习和实战,我发现其实学习虚拟机并 ...

  10. C# Serialize

    一.序列化又称为串行化,是.NET运行时环境用来支持用户自定义类型的机制,目的是以某种存储给对象持久化,或者是将这种对象传输到另一个地方, 二. .NET框架提供了两种序列化的方式 一种是使用Bina ...