文档章节

ubuntu14.04/Mint17上Gitolite的搭建过程

大培哥
 大培哥
发布于 2015/11/10 12:41
字数 780
阅读 658
收藏 3

    一、安装git

服务器端

 sudo apt-get install git-core

 

二、在服务器端安装gitolite服务器

 sudo apt-get install gitolite

    Gitolite通过git来管理它的配置文件,我们将要创建一个操作系统的用户,唯一的目的就是为了让其和gitolite进行交流。该系统用户被叫做git.

 sudo adduser --system --group --shell /bin/bash --disabled-password git

    三、为git管理员配置sshkey

    拷贝ssh key到gitolite服务器。例如:

scp ~/.ssh/id_rsa.pub regular_username@git_server_IP_address:/tmp/git-admin.pub

四、配置gitolite

        以下的步骤同样发生在服务器端,我们可以在git用户身份下用刚才拷贝过来的公钥来初始化gitolite 。

#切换git用户身份
sudo su - git  

#使用刚刚传输的公钥初始化gitolite,敲击enter完成设置
gl-setup /tmp/git-admin.pub

五、如何管理gitolite

    回到本地的pc,你可以开始管理gitolite服务器了。

    先确认你本地是否安装git,如果未安装,执行以下步骤,否则跳过该步骤;

 sudo apt-get install git-core

    接下来我们来克隆一下gitolite的配置信息到本地。

git clone git@git_server_IP_address:gitolite-admin

提示:执行该命令以后将会创建一个gitolite-admin的目录.

六、添加新用户到gitolite服务器上

        在本地机器上我们可以进入一下刚刚的gitolite-admin目录,在目录下面我们会看到如下目录:

                                                 conf                          keydir    

提示:通常情况来讲,keydir下面存放的是用户的pub key.

你可以做如下操作将新用户的pub key 拷贝到keydir目录下:

git clone git@git_server_IP_address:gitolite-admin

你需要按git操作的一系列步骤来将pub key上传到gitolite服务器上面:

#配置一下git的基本用户信息
git config --global user.name "your_name_here"
git config --global user.email "your_email@address.com" 

#添加文件到git
git add keydir/john.pub

#提交变动
git commit -m "str you want to add"

#提交变动到gitolite服务器
git push

七、配置gitolite的访问控制权限

在上一段你提交pub的时候可能会出现以下的问题,警告如下:

        这就意味着服务器知道有john这位用户,但是在配置文件中没有设置john的访问权限。现在就可以做一些简单的配置来使John这个用户具备对某个目录的访问控制权限.

打开gitolite-admin目录下conf中的gitolite.conf,做一些配置如下:

        再执行同上一步骤的git 提交操作,将gitolite.conf里面的改动内容上传到服务器处。上传成功后,就可以采用以下方式来下载项目仓库:

git clone git@git_server_IP_address:johnsproject

提示:gitolite.conf的基本配置格式可以查看https://www.digitalocean.com/community/tutorials/how-to-use-gitolite-to-control-access-to-a-git-server-on-an-ubuntu-12-04-vps

八、总结

    如果你正在管理多个组的项目仓库,你最好可以设置对应的仓库到一个用户组,这样也很容易去管理。

© 著作权归作者所有

共有 人打赏支持
大培哥
粉丝 5
博文 31
码字总数 29758
作品 0
浦东
程序员
Mint17/Ubuntu14.04 samba文件服务器搭建

一、简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及...

大培哥
2015/10/25
115
0
上云连载:搭建私有可协作的 Git 服务器

教程 上云连载:搭建私有可协作的 Git 服务器 本文是「上云连载」系列的第三篇,将介绍如何在腾讯云 CVM 上搭建一个私有可协作的 Git 服务器。文中操作也适用于其他云服务商提供的服务器资源...

EarlGrey
2016/10/24
0
0
Gitolite+gitweb 源码搭建及迁移

搭建不难迁移蛋疼 一、软件下载gitolite下载:git clone git://github.com/sitaramc/gitolitegit下载:http://git-scm.com/gitweb下载: git clone git://git.kernel.org/pub/scm/git/git.gitg......

wennan
2014/03/05
0
0
GitLab 8.0.1 发布,改进 CI 迁移过程和文档

GitLab 8.0.1 发布,主要包括以下修复: CE/EE/CI: Improve CI migration procedure and documentation EE: Correct gem dependency versions EE: Re-add the “Help Text” feature that w......

oschina
2015/09/23
1K
18
LinuxMint13搭建gitolite服务器

1.首先需要阅读 LinuxMint13安装无密码访问git ,在该博文中讲到客户端的id_rsa.pub在执行 ssh-copy-id -i ~/.ssh/idrsa.pub git@localhost 以后,idrsa.pub的内容就被拷贝到了服务器端的/ho...

中华大吉
2013/07/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

002,zabbix-agent的安装 监控Linux主机

2.1.安装zabbix-agent $ rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm$ yum install -y zabbix-agent zabbix-get 2.2.配置zabbix-agent ......

happyeveryday32
36分钟前
2
0
docker learn :swarm

swarm是什么 swarm是一组运行docker服务的集群,之后,还是使用那些命令去操作docker,但是是通过swarm manager来执行的。 swarm中的机器可以是实体的也可以是虚拟的,加入swarm后,他们被当作...

writeademo
37分钟前
1
0
Golang + vscode 开发环境配置

GOPATH 环境变量的配置 https://my.oschina.net/xinxingegeya/blog/718305 安装vscode go 扩展 下载vscode ,安装go的扩展https://github.com/Microsoft/vscode-go 该扩展对 Golang 支持非常......

秋风醉了
39分钟前
0
0
idea jar包

我自己用idea新建一个springboot项目,打包一直有问题,百度了下,又总结了下。 方式一: 找到Project Structure菜单,然后点开,照下图点击 然后出现下图所示 红框1:为你项目的main函数所在...

朝如青丝暮成雪
40分钟前
0
0
Vue scoped CSS 与深度作用选择器 /deep/

使用 scoped 后,父组件的样式将不会渗透到子组件中。 例如(无效): <template> <div id="app"> <el-input class="text-box" v-model="text"></el-input> </div></template><......

不负好时光
41分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部