Git核心技术:在Ubuntu下部署Gitolite服务端

2018-11-07 11:19:31 浏览数 (1)

代码版本控制服务最常用的有两种,分别是:SVNGit,如果你在为你团队的Git代码服务部署搭建而犯愁可以通过本章的内容进行完成搭建部署,快速的进行添加开发者以及仓库信息维护、权限控制等。

本章目标

Linux / Ubuntu18.04系统搭建Git服务端。

安装Git

在搭建Git服务端的前提当然就是需要安装Git,当然本章虽然是基于Ubuntu18.04进行搭建的环境,如果你是Ubuntu其他版本也是可以的,不过安装之前建议更新下apt-get仓库源信息。

更新系统软件仓库源
代码语言:javascript复制
sudo apt-get update
执行安装Git

如果你系统之前没有安装open-ssh相关依赖环境需要一并进行安装,命令如下所示:

代码语言:javascript复制
sudo apt-get install git openssh-server openssh-client

在上述安装过程中使用默认的配置即可,下面我们需要添加一个管理Git Server的系统用户,需要通过该用户进行配置一些服务端信息。

添加Git管理用户

执行如下命令添加git系统用户:

代码语言:javascript复制
sudo adduser --system --shell /bin/bash --gecos 'Git Server User' --group --disabled-password --home /home/git git

创建一个名为git的系统用户,并且创建将git用户的根目录指定到/home/git,设置禁用密码方式登录,自动创建与用户同名的git用户组,将该用户加入到该用户组。

系统用户创建完成后我们需要切换到该用户进行安装Gitolite以及对Gitolite进行初始化,命令如下所示:

代码语言:javascript复制
sudo su git

安装Gitolite

用户我们已经创建完成,接下来我们就需要进行安装gitolite了,如果你对gitolite不了解,可以去https://github.com/sitaramc/gitolite查看官方文档。

目前我们已经登录了git用户,我们进入git用户的home目录,执行下载gitolite安装源码文件,如下所示:

代码语言:javascript复制
// 进入git用户根目录
cd $HOME
// git clone gitolite源码
git clone https://github.com/sitaramc/gitolite

clone完成后,我们创建一个存放gitolite执行文件的目录,该目录用于后期的初始化以及设置,执行如下命令创建目录:

代码语言:javascript复制
mkdir -p ${HOME}/bin

接下来我们需要将gitolite的执行命令都安装到${HOME}/bin目录下,如下所示:

代码语言:javascript复制
${HOME}/gitolite/install -to ${HOME}/bin

执行完成后我们可以查看%{HOME}/bin目录下的内容,执行文件gitolite已经给我初始化好了:

代码语言:javascript复制
git@code-server:~/bin$ ls
commands  gitolite  gitolite-shell  lib  syntactic-sugar  triggers  VERSION  VREF

到目前这一步我们差不多已经完成了Gitolite Server的配置,不过我们需要设置一个管理员权限的客户端,详见Git核心技术:在Ubuntu下为Gitolite添加管理端。

总结

本章简单完成了Gitolite的安装,在接下来的章节会对仓库创建、权限控制等进行更新。

有问题要问?

如果你有技术相关的问题想要咨询恒宇少年,请去博客(http://blog.yuqiyu.com)首页左侧导航栏,点击知识星球微信扫码加入我的星球。

与恒宇少年面对面

如果你喜欢恒宇少年的相关文章,那么就去微信公众号(恒宇少年)关注我吧!!! 当然你也可以去 SpringCloud码云源码 项目底部扫描微信公众号二维码关注我,感谢阅读!!!

学习目录推荐

  • SpringCloud相关系列文章访问:https://cloud.tencent.com/developer/article/1344819
  • SpringBoot相关系列文章请访问:http://www.jianshu.com/p/9a08417e4e84
  • QueryDSL相关系列文章请访问:http://www.jianshu.com/p/99a5ec5c3bd5
  • SpringDataJPA相关系列文章请访问:http://www.jianshu.com/p/615ed9c1fe84

开源信息

这段时间一直在编写开源的相关框架,致力于公司使用的框架升级以及开源计划,将公司使用到的工具以及插件进行升级重构并且开源。

  • 代码生成器(Code-Builder) code-builder代码生成器根据你提供的模板文件(目前支持freemarker)自动生成实体类,可以很大很有效的提高开发效率。 Gitee地址:https://gitee.com/hengboy/code-builder Github地址:https://github.com/hengyuboy/code-builder
  • 持久化框架(MyBatis-Enhance) mybatis-enhance是一个对mybatis框架的增强封装,提供一系列的内部方法来完成单表数据的操作,多表数据提供DSL方式进行操作。 Gitee地址:https://gitee.com/hengboy/mybatis-enhance Github地址:https://github.com/hengyuboy/mybatis-enhance
  • 自动分页插件 MyBatis-Pageable是一款自动化分页的插件,基于MyBatis内部的插件Interceptor拦截器编写完成,拦截Executor.query的两个重载方法计算出分页的信息以及根据配置的数据库Dialect自动执行不同的查询语句完成总数量的统计。 Gitee地址:https://gitee.com/hengboy/mybatis-pageable

0 人点赞