文档章节

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

大培哥
 大培哥
发布于 2015/11/10 12:41
字数 780
阅读 650
收藏 3
点赞 0
评论 0

    一、安装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
博文 25
码字总数 29758
作品 0
浦东
程序员
Mint17/Ubuntu14.04 samba文件服务器搭建

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

大培哥 ⋅ 2015/10/25 ⋅ 0

上云连载:搭建私有可协作的 Git 服务器

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

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

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

git和repo环境搭建

cd ~/src git clone git://eagain.net/gitosis.git Or try "git clone https://github.com/tv42/gitosis.git" cd gitosis/ python setup.py install --prefix=$HOME cd 因为Git本身没有用户和......

蓝桥书生 ⋅ 2013/11/22 ⋅ 0

搭建gitolite服务器

在服务器上创建git用户和组 groupadd -g gid gituseradd -u uid -g gid -d /home/git git passwd git 生成服务器公钥私钥对 ssh-keygencp id_rsa.pub gitadmin.pub 下载gitolite源码 cd /ho......

sunyy_boy ⋅ 2017/05/24 ⋅ 0

LinuxMint13搭建gitolite服务器

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

中华大吉 ⋅ 2013/07/06 ⋅ 0

Kernel.org 重建基础架构

在遭黑客攻击后,Kernel.org至今仍未上线。期间系统管理者发布了多次状态更新。最新的更新称,他们正辛苦的从头开始重新搭建Kernel.org的基础架构,新的架构将不再允许shell访问git库,他们正...

红薯 ⋅ 2011/09/25 ⋅ 10

项目管理和代码托管平台--GitLab

开源中国代码托管平台 git.oschina.net 就是基于 GitLab 项目搭建。 GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私...

匿名 ⋅ 2012/01/09 ⋅ 42

GitLab 8.2.1 正式发布,代码托管平台

GitLab 8.2.1正式发布,更新如下: - Forcefully update builds that didn't want to update with state machine - Fix: saving GitLabCiService as Admin Template 下载页面:v8.2.1 开源中......

oschina ⋅ 2015/11/26 ⋅ 9

没有更多内容

加载失败,请刷新页面

加载更多

下一页

个人博客的运营模式能否学习TMALL天猫质量为上?

心情随笔|个人博客的运营模式能否学习TMALL天猫质量为上? 中国的互联网已经发展了很多年了,记得在十年前,个人博客十分流行,大量的人都在写博客,而且质量还不错,很多高质量的文章都是在...

原创小博客 ⋅ 今天 ⋅ 0

JavaScript零基础入门——(十一)JavaScript的DOM操作

JavaScript零基础入门——(十一)JavaScript的DOM操作 大家好,欢迎回到我们的JavaScript零基础入门。最近有些同学问我说,我讲的的比书上的精简不少。其实呢,我主要讲的是我在开发中经常会...

JandenMa ⋅ 今天 ⋅ 0

volatile和synchronized的区别

volatile和synchronized的区别 在讲这个之前需要先了解下JMM(Java memory Model :java内存模型):并发过程中如何处理可见性、原子性、有序性的问题--建立JMM模型 详情请看:https://baike.b...

MarinJ_Shao ⋅ 今天 ⋅ 0

深入分析Kubernetes Critical Pod(一)

Author: xidianwangtao@gmail.com 摘要:大家在部署Kubernetes集群AddOn组件的时候,经常会看到Annotation scheduler.alpha.kubernetes.io/critical-pod"="",以表示这是一个关键服务,那你知...

WaltonWang ⋅ 今天 ⋅ 0

原子性 - synchronized关键词

原子性概念 原子性提供了程序的互斥操作,同一时刻只能有一个线程能对某块代码进行操作。 原子性的实现方式 在jdk中,原子性的实现方式主要分为: synchronized:关键词,它依赖于JVM,保证了同...

dotleo ⋅ 今天 ⋅ 0

【2018.06.22学习笔记】【linux高级知识 14.4-15.3】

14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp

lgsxp ⋅ 今天 ⋅ 0

JeeSite 4.0 功能权限管理基础(Shiro)

Shiro是Apache的一个开源框架,是一个权限管理的框架,实现用户认证、用户授权等。 只要有用户参与一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户...

ThinkGem ⋅ 昨天 ⋅ 0

python f-string 字符串格式化

主要内容 从Python 3.6开始,f-string是格式化字符串的一种很好的新方法。与其他格式化方式相比,它们不仅更易读,更简洁,不易出错,而且速度更快! 在本文的最后,您将了解如何以及为什么今...

阿豪boy ⋅ 昨天 ⋅ 0

Python实现自动登录站点

如果我们想要实现自动登录,那么我们就需要能够驱动浏览器(比如谷歌浏览器)来实现操作,ChromeDriver 刚好能够帮助我们这一点(非谷歌浏览器的驱动有所不同)。 一、确认软件版本 首先我们...

blackfoxya ⋅ 昨天 ⋅ 0

线性回归原理和实现基本认识

一:介绍 定义:线性回归在假设特证满足线性关系,根据给定的训练数据训练一个模型,并用此模型进行预测。为了了解这个定义,我们先举个简单的例子;我们假设一个线性方程 Y=2x+1, x变量为商...

wangxuwei ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部