文档章节

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

大培哥
 大培哥
发布于 2015/11/10 12:41
字数 780
阅读 662
收藏 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
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
上云连载:搭建私有可协作的 Git 服务器

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

EarlGrey
2016/10/24
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

没有更多内容

加载失败,请刷新页面

加载更多

关于Jackson默认丢失Bigdecimal精度问题分析

问题描述 最近在使用一个内部的RPC框架时,发现如果使用Object类型,实际类型为BigDecimal的时候,作为传输对象的时候,会出现丢失精度的问题;比如在序列化前为金额1.00,反序列化之后为1.0...

ksfzhaohui
27分钟前
0
0
vue less安装

$ npm install less less-loader --save 安装成功后修改文件:build>webpack.base.conf.js 在model.rules添加对象: { test: /\.less$/, loader: "style-loader!css-loader!less-loade......

shawnDream
32分钟前
1
0
kolla-ansible部署容器ceph

kolla是从openstack孵化出的一个项目,kolla项目可以制作镜像包括openstack、ceph等容器镜像, ansible是自动化部署工具,执行playbook中的任务。 kolla-ansible是容器部署工具,部署opensta...

zrz11
37分钟前
1
0
【三 异步HTTP编程】 1. 处理异步results

异步results 事实上整个Play框架都是异步的。Play非阻塞地处理每个request请求。 默认的配置适配的正是异步的controller。因此开发者应该尽力避免在在controller中阻塞,如在controller方法中...

Landas
39分钟前
1
0
Android Studio 3.1.4 buildApk遇到问题 Connection reset

打开设置,找到Android Studio选项卡,把下图选项打上勾就ok

lanyu96
39分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部