文档章节

gitolite配置简介

lgscofield
 lgscofield
发布于 2015/04/16 15:21
字数 1065
阅读 46
收藏 0

What is gitolite

Gitolite是git的顶层的访问控制层。

下面是一些特性:

  • 在服务器端,使用一个单独的unix用户。
  • 提供多用户访问
    • 他们不是真正的用户
    • 它们不会获得shell权限
  • 控制对多个git仓库的访问
    • 真正的读访问被repo层控制
    • 写访问在branch/tag/file/directory层控制,包括谁能够rewind,create以及delete branches/tags
  • 能够不经过root允许进行安装,假设git和perl已经被安装了
  • 访问认证通常采用sshd,但是也可以使用http

Setting up gitolite

设置gitolite

这是使用gitolite的第二步,在install之后。这个步骤也是发生在server端。


安装完软件之后就可以使用了,使用之前先要设置。

首先你需要有一个public key文件。

假设这个管理员叫做alice,这个公钥可能被命名为alice.pub。

然后主机用户运行

gitolite setup -pk alice.pub

如果这个命令被成功的执行了,那么就完成了设置。

如果有警告,那么可能你提供的这个公钥在服务器上具有获取终端的权限,它不会工作。

通常,gitolite运行在一个用户不能直接访问的主机上,你采用其他的一些用户名登录,然后使用su -git命令。

在此,没有密钥被用来获取shell访问,因此没有冲突。

另外的方法是使用两个不同的密钥,用别名来区分。

setup命令还有其他的用处,因此在安装完了之后你可能还会用到它

  • 当你把一个已有的仓库移动到gitolite中时,更新钩子。或者修正钩子。
  • 更改一个丢失的管理员密钥
  • 设置gitolite为http模式

当有疑问的时候,运行gitolite setup,它不会造成什么损害,当然了如果你有上千个仓库的时候它会有些慢。

Cloning the admin repo

这是使用gitolite的第三步

克隆管理员repo,来到使用公钥设置的工作区,运行

git clone git@host:gitolite-admin

注意,不能包括repositories/部分

你可以在最后包含.git,但是这是可选的

如果这步成功了,那么你可以增加用户,repo仓库,或者其他的事情了。

如果这步失败了,去看看ssh的文档。

Gitolite administration

服务器端的管理

下面的命令要求用命令行访问服务器。

它们通常是一次性或者很少活动的。

  • 更改rc文件的内容
  • 安装客户的hooks,对所有的repos或者某一部分repos
  • 移动已经存在的repos到gitolite

access control via the gitolite-admin repo

日常操作大致如下:

  • 把gitolite-admin repo, clone下来到你的工作区
  • 做出适当的更改
  • add, commit, 以及 push

the conf/gitolite.conf文件

gitolite的大部分功能来自于conf/gitolite.conf文件。

这里面制定了对repos的访问控制细节。

任何关于增加用户的操作都来自于这个文件

下面是个例子

@staff = dilbert alice # line 1
   @projects = foo bar # line 2
   repo @projects baz #line3
       RW+ = @staff #line 4
       - master = ashok #line5
       RW = ashok #line6
       R = wally #line7
       config hooks.emailprefix = ['%GL_REPO] ' #line8

从下面的链接学到更多

  • 基础语法 -- 注释,空格,包含文件等 
  • 定义组, 1,2行
  • 增加删除用户
  • 增加删除repos 3行
  • 定义访问规则 4,5,6,7行
  • gitolite选项
  • git config关键字和值 8行
  • wile repos -- ad hoc, user-created, repos

Basic syntax

basic syntax

通常来说,所有的元素都是用空格隔开的;没有逗号,分号,以及其他的东西。

注释通常用shell的样式,#

用户名和repo名字一样,它们都以字母开始,但是可以用点,下划线,减号连接

用户名可以选择用@符号后面跟一个至少包含一个点号的域名

组名与用户名类似,以@开头

repo的名字里可以包含/符号

默认没有续行的功能,你不需要它们。

inlcude files

gitolite允许你将配置文件分为多个

使用下面的语法来包含进来

include "foo.conf"

可以使用通配符include *.conf

或者使用子目录foo/bar.conf repos/*.conf

© 著作权归作者所有

共有 人打赏支持
lgscofield

lgscofield

粉丝 21
博文 140
码字总数 63036
作品 0
南京
架构师
Centos 7.X 部署基于Git&Gitolite的分布式版本控制系统

1、简介 1.1 git 简介 Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这...

甘兵
2017/12/21
0
0
ubuntu14.04/Mint17上Gitolite的搭建过程

一、安装git 服务器端 sudo apt-get install git-core 二、在服务器端安装gitolite服务器 sudo apt-get install gitolite Gitolite通过git来管理它的配置文件,我们将要创建一个操作系统的用...

大培哥
2015/11/10
0
0
使用linux安装gitolite管理git

系统:centos7 服务器:阿里云 一、前期准备 1.安装git yum install git 2.安装perl yum install perl 3.安装openssh yum install openssh 4.安装cpan(如果你的linux里面没有,就必须安装)...

Stanley_小麦冬
08/14
0
0
Gitolite如何导入其它git代码库

续上节,我们配置了《ubuntu Gitolite管理git server代码库权限》 在这里测试下Gitolite如何导入其它git代码库 要求:原服务器有sdk.git项目,我们导入到Gitolite并配置权限管理。 停止原服务...

科技小能手
2017/11/12
0
0
上云连载:搭建私有可协作的 Git 服务器

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

EarlGrey
2016/10/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

打包QML程序

1、windeployqt执行路径(D:\Qt\5.12.0\msvc2017_64\bin)加入到PATH中 2、使用Qt自带的命令行交互 Command 终端(Qt 5.12.0 64-bit for Desktop (MSVC 2017))切换到 Release 编译成功的exe...

渣渣曦
32分钟前
2
0
优秀互联网高级测试工程师应该具备的能力

概述 在之前写的互联网高级测试工程师至少具备的能力一文中,提到了测试工程师至少具备的能力,但是并没有提到优秀测试工程师应该具备的能力,下文简单的谈一谈。当然这些全部都是我的个人理...

Sam哥哥聊技术
36分钟前
2
0
webpack项目配置

前端工程化 前端工程化是根据业务特点,将前端开发流程规范化,标准化,它包括了开发流程、技术选型、代码规范、构建发布等等,用语提升前端工程师的开发效率和代码质量。 自动化构建工具 1、...

羊皮卷
38分钟前
0
0
Linux命令备忘录: jobs 显示Linux中的任务列表及任务状态命令

jobs命令用于显示Linux中的任务列表及任务状态,包括后台运行的任务。该命令可以显示任务号及其对应的进程号。其中,任务号是以普通用户的角度进行的,而进程号则是从系统管理员的角度来看的...

开元中国2015
今天
3
0
springboot Whitelabel Error Page(Not Found)解决方案

当出现上图图的错误时注意 报错信息 There was an unexpected error (type=Not Found, status=404). Not Found代表未访问到资源 解决方案:比较访问路径和代码的路径有没有写错 正确的访问路...

斩神魂
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部