`
逍遥一狂
  • 浏览: 190743 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

企业级Git Server服务器架设,使用Gitolite管理权限

 
阅读更多

1. 在服务器上创建Git管理员帐号git

$sudo adduser git

 

2. 在客户端创建管理员公匙(Unix/Linux)

$ssh-keygen

然后一路回车,提示成功生成2个文件

~/.ssh/id_rsa

~/.ssh/id_rsa.pub (公匙)

 

3. 在客户端将公匙上传到服务器上管理员的主目录(没装SSH就发邮件吧:),并重命名为git.pub

$scp ~/.ssh/id_rsa.pub git@YOUR_SERVER:/home/git/git.pub

 

4. 在服务器上安装git-core

$sudo apt-get install git-core

 

5. 在服务器上安装Gitolite,使用账户git打开shell,否则会找不到命令

$git clone git://github.com/sitaramc/gitolite
$cd gitolite
$src/gl-system-install
$gl-setup ~/git.pub

 

6. 客户端clone一个管理库,修改里面的文件,就可以管理仓库、用户、组、权限等等内容了

$git clone git@YOUR_SERVER:gitolite-admin
 

 

关于Gitolite的权限管理,下面是一些入门知识

翻译了部分官方文档

http://sitaramc.github.com/gitolite/doc/gitolite.conf.html

 

syntax 语法

通常情况下,语法里都是以空格分隔的; 不使用逗号分号等符号.

注释跟Shell注释一样

用户名 和 仓库名 尽量简单; 必须以字母和数字开头, 后面可以包含._或 -.

用户名可以跟字符@并加域名,域名至少含有1个. (也就是允许使用邮箱地址做用户名). 仓库名可以含有斜线/(这可以很方便地将仓库组织成数状结构)

 

continuation lines 续行

没有续行 -- gitolite不处理C语言里反斜线\转译的任何特殊的新行. 但是"群组"章节会告诉你如何把一大串的名称定义成多行.

 

include files 文件包含

Gitolite允许把配置放在多个文件里,使用的时候很方便地包含到到主文件里.

include     "foo.conf"

上面代码将把同目录下的foo.conf包含进主配置文件. 也可以使用绝对路径, 不过明智的话应该避免那样做!

也可以使用通配符,如:

include     "*.conf"

这样会包含主配置所在目录下所有的".conf"文件.

处理过的文件都会略过,并报个警告.

 

basic access control 基本访问控制

下面是一组最基本的规则:

repo    gitolite-admin
        RW+     =   sitaram

repo    testing
        RW+     =   @all

repo    gitolite simplicity
        RW+     =   sitaram dilbert
        RW      =   alice ashok
        R       =   wally

意思应该很容易猜到了:

  • R表示读权限
  • RW表示读写权限, 不能rewind
  • RW+表示读写权限, 允许rewind

groups 群组

Gitolite允许你定义仓库groups,用户groups,甚至是refexes groups. group在语义上类似C语言里的#define(但不是语法上). 下面是每种group的例子:

@oss_repos  =   gitolite linux git perl rakudo entrans vkc
@staff      =   sitaram some_dev another-dev
@important  =   master$ QA_done refs/tags/v[0-9]

group定义语法很简单:

@groupname = [one or more names]

 

group可以累积值,例如:

@staff      =   sitaram some_dev another-dev
@staff      =   au.thor

跟下面效果相同

@staff      =   sitaram some_dev another-dev au.thor

 

这比续行方便多了,可以在任何地方增加group. 很多人从数据库里生成gitolite.conf, 能做这种事情是非常有用的.

 

Groups可以包含别的groups, 被包含的group会展开他的当前值:

@staff      =   sitaram some_dev another-dev    # line 1
@staff      =   au.thor                         # line 2
@interns    =   indy james                      # line 3
@alldevs    =   bob @interns @staff             # line 4

"@alldevs" 展开了7个用户名. 然而要记住配置文件只顺序解析1次,所以后面给group增加的用户不影响前面的结果. 例如把第2行移动到最后, "@alldevs"就只有6个用户名了.

 

特殊的 @all group

有个特殊群组叫@all

作为用户名使用时,包含了所有通过身份验证的用户; 前面你已经看到例子了.

作为仓库名使用时, 包含所有仓库.

分享到:
评论

相关推荐

    git gitolite repo 代码服务器配置记录

    git gitolite repo 代码服务器配置记录 为android等源码创建repo服务器,通过gitolite管理权限

    GIT服务器 Gitolite.zip

    Git服务器Gitolite是搭建基于Git的分布式版本控制系统的一个强大工具,它允许用户轻松地管理和控制对Git仓库的访问权限。Git自身虽然提供了强大的版本控制功能,但对用户权限的管理相对简单,不适合大规模协作环境。...

    git创建服务器端

    通过以上步骤,你已经在自己的计算机上成功建立了Git服务器端,使用Gitblit作为管理工具,实现了远程代码仓库的功能。现在,团队成员可以方便地进行代码版本控制和协同开发。记住,持续学习和实践是提升Git技能的...

    企业级Git Server服务的部署与应用1

    【企业级Git Server服务的部署与应用】 随着开源的广泛普及,Git作为版本控制系统在开发者、团队和企业中被广泛应用。尽管有许多免费的Git托管服务商,如GitHub、GitLab和Bitbucket,但出于对源代码安全性的考虑,...

    搭建git服务器

    3. **Gitolite简介**:Gitolite是一个轻量级的、易于配置的Git服务器管理系统,支持多用户、多仓库、权限管理等功能。 #### 四、搭建步骤 1. **安装Git和SSH** - 在Ubuntu服务器上安装Git和SSH两个核心软件。 ```...

    使用Gitolite搭建轻量级的Git服务器

    在Git服务管理工具这个领域,主要有三种流行的方案,...对于个人,中小型企业及一些开源项目而言,如果没有特殊的要求,其实没有必要去架设上面第三种方案Git服务器。Gitolite提供的服务已经足够用。下面将详细讲解怎

    使用Gitblit 在Windows2008 r2上部署Git Server(完整版).docx

    Gitblit则是一个轻量级、纯Java编写的Git服务器管理程序,它提供了简单的Web界面来管理和托管Git仓库。本教程将详细介绍如何在Windows Server 2008 R2操作系统上使用Gitblit搭建Git服务器。 首先,你需要准备以下两...

    Bonobo Git Server 5.2.0(ASP.NET MVC Git服务器)

    非常方便,快捷搭建Git Web服务器,完全是免费,配置好IIS就可以访问。在局域网内使用自己的Git服务器,简单快捷地分配账号。与Github类似的用法,但完全是免费私密的。适用于公司、小团队、个人开发非开源项目使用...

    bonobo_git_server服务器

    【Bonobo Git Server服务器】是一种基于.NET框架的开源Git服务器,设计用于在本地环境中搭建团队代码管理服务。它提供了一个用户友好的Web界面,使得团队成员可以方便地进行Git仓库的创建、访问、管理和协作。这个...

    Gitolite构建Git服务器

    Gitolite是一个用于管理分布式Git服务器的工具,特别适合于需要精细控制用户权限和版本库访问的企业级场景。以下是从安装到管理Gitolite的全流程指导: **安装Gitolite** - **服务器端创建专用帐号**:为了安全...

    基于gitolite 搭建Git服务器

    Git服务端的搭建需要多用户协作及其权限控制等功能,这需要用户管理权限控制组件的支持,目前这类组件主要有两类:Gitosis和Gitolite。 Gitosis起初功能强大,但于09年不再更新。 Gitolite原本是作为Gitosis的lite...

    Bonobo.Git.Server

    Bonobo.Git.Server是一款开源的应用程序,专为Windows环境设计,用以搭建和管理本地Git服务器。它提供了直观的Web界面,使得团队协作和代码版本控制变得轻而易举。在本篇文章中,我们将深入探讨Bonobo.Git.Server的...

    <Pro Git>中文版、Git+Gitolite_TortoiseGit、git学习文档

    Gitolite是一款基于Perl编写的Git服务器管理工具,它可以方便地控制用户对Git仓库的访问权限,实现细粒度的读写控制。结合Git,Gitolite允许团队成员安全地进行代码共享和协作,同时确保数据的安全性。 TortoiseGit...

    gitolite-git-lfs:用于 git-lfs 集成的示例 gitolite 命令(适用于 django-git-lfs)

    这是 gitolite 的概念证明 git-lfs 存储服务器助手。 它已被编写为与 django-git-lfs 配合使用,请参阅: : 要求 Gitolite Perl:JSON 和 LWP (HTTP) 安装 在 gitolite 中设置 LOCAL_CODE。 将 LFS_URL 添加到 ...

    ubuntu系统搭建git+gitolite实现git权限管理手册

    ubuntu系统搭建git+gitolite实现git权限管理手册,目前内网上讲的git+gitolite的帖子有很多,但大部分说的不是很清楚,按照他们的方法搭建可能会踩坑,文内的方法已亲测有效,如有问题可以及时反馈!

    Ubuntu-12.04-Server-amd64-git-gitolite安装.docx

    在本文中,我们将深入探讨如何在Ubuntu 12.04服务器上安装Git以及与之相关的gitolite工具,这是一个用于管理和控制Git仓库的强大系统。首先,我们将介绍如何使用包管理器安装Git,接着设置SSH访问,最后我们将详细...

    完全学会Git、GitHub、Git Server的24堂课

    完全学会Git、GitHub、Git Server的24堂课

    在centos下搭建 git+gitolite 安装和部署

    讲速了 在centos 下搭建git服务器 用gitolite 来管理权限 很经典 值得拥有

    git安装配置手册

    在配置完成 Gitolite 之后,管理员可以使用 Gitolite 管理仓库和用户权限。管理员可以添加新的仓库项目,添加用户权限,并管理仓库的版本控制。 五、开发人员操作 开发人员可以使用 Git 客户端工具,如 ...

Global site tag (gtag.js) - Google Analytics