GitLab的安装及使用教程

GitLab基本介绍

GitLab是利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。

与Github类似,GitLab能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。

它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

本篇教程将教你如何安装部署及使用GitLab。

Git的家族成员

Git:是一种版本控制系统,是一个命令,是一种工具。

Gitlib:是用于实现Git功能的开发库。

Github:是一个基于Git实现的在线代码托管仓库,包含一个网站界面,向互联网开放。

GitLab:是一个基于Git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于Github一样的系统,一般用于在企业、学校等内部网络搭建git私服。

Gitlab的服务构成

Nginx:静态web服务器。

gitlab-shell:用于处理Git命令和修改authorized keys列表。

gitlab-workhorse: 轻量级的反向代理服务器。

logrotate:日志文件管理工具。

postgresql:数据库。

redis:缓存数据库。

sidekiq:用于在后台执行队列任务(异步执行)。

unicorn:An HTTP server for Rack applications,GitLab Rails应用是托管在这个服务器上面的。

GitLab工作流程

GitLab Shell

GitLab Shell有两个作用:为GitLab处理Git命令、修改authorized keys列表。

当通过SSH访问GitLab Server时,GitLab Shell会:

  • 限制执行预定义好的Git命令(git push, git pull, git annex)
  • 调用GitLab Rails API 检查权限
  • 执行pre-receive钩子(在GitLab企业版中叫做Git钩子)
  • 执行你请求的动作 处理GitLab的post-receive动作
  • 处理自定义的post-receive动作

当通过http(s)访问GitLab Server时,工作流程取决于你是从Git仓库拉取(pull)代码还是向git仓库推送(push)代码。

如果你是从Git仓库拉取(pull)代码,GitLab Rails应用会全权负责处理用户鉴权和执行Git命令的工作;

如果你是向Git仓库推送(push)代码,GitLab Rails应用既不会进行用户鉴权也不会执行Git命令,它会把以下工作交由GitLab Shell进行处理:

  1. 调用GitLab Rails API 检查权限
  2. 执行pre-receive钩子(在GitLab企业版中叫做Git钩子)
  3. 执行你请求的动作
  4. 处理GitLab的post-receive动作
  5. 处理自定义的post-receive动作

GitLab Workhorse

GitLab Workhorse是一个敏捷的反向代理。它会处理一些大的HTTP请求,比如文件上传、文件下载、Git push/pull和Git包下载。其它请求会反向代理到GitLab Rails应用,即反向代理给后端的unicorn。

Gitlab环境部署

ECS配置要求:内存2G以上

方法一:镜像部署

点击购买,免费获得GitLab全套环境镜像。(点击查看:镜像帮助文档

GitLab代码管理(Centos 64位 | GitLab)

进入镜像详情页面,单击立即购买,按提示步骤购买 ECS 实例。

购买完成之后,登录“ECS 管理控制台”,在左边导航栏里,单击“实例”,进入 ECS 实例列表页,选择所购 ECS 实例所在的地域,并找到所购 ECS 实例,在“IP 地址”列获取该实例的公网 IP 地址。

注意:镜像部署好后默认是禁止远端访问的,所以直接访问ECS服务器的公网IP是不能访问到GitLab的登录界面的,请先运行/alidata目录下的gitlab_opennet.sh脚本,开启远程访问,然后再通过浏览器访问公网IP来访问GitLab的主页。

方法二:手动部署:

1、配置yum源

vim /etc/yum.repos.d/gitlab-ce.repo

复制以下内容:

[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6
Repo_gpgcheck=0
Enabled=1
Gpgkey=https://packages.gitlab.com/gpg.key

2、更新本地yum缓存

sudo yum makecache

3、安装GitLab社区版

sudo yum intall gitlab-ce        #自动安装最新版
sudo yum install gitlab-ce-x.x.x    #安装指定版本

GitLab常用命令

sudo gitlab-ctl start    # 启动所有 gitlab 组件;
sudo gitlab-ctl stop        # 停止所有 gitlab 组件;
sudo gitlab-ctl restart        # 重启所有 gitlab 组件;
sudo gitlab-ctl status        # 查看服务状态;
sudo gitlab-ctl reconfigure        # 启动服务;
sudo vim /etc/gitlab/gitlab.rb        # 修改默认的配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace    # 检查gitlab;
sudo gitlab-ctl tail        # 查看日志;

GitLab使用

登录GitLab

1、在浏览器的地址栏中输入ECS服务器的公网IP即可登录GitLab的界面,第一次登录使用的用户名和密码为 root 和 5iveL!fe。

2、首次登录会强制用户修改密码。密码修改成功后,输入新密码进行登录。

创建Project

1、安装Git工具linux:安装Git,使用自带的源安装。

yum install git

2、生成密钥文件:使用ssh-keygen生成密钥文件.ssh/id_rsa.pub

3.在GitLab的主页中新建一个Project

4.添加ssh key导入步骤2中生成的密钥文件内容:

ssh key添加完成:

项目地址,该地址在进行clone操作时需要用到:

简单配置

1、配置使用Git仓库的人员姓名(以上海驻云为例)

git config --global user.name "上海驻云" 

2、配置使用Git仓库的人员email,填写自己的公司邮箱

git config --global user.email "support@jiagouyun.com"

3、克隆项目,在本地生成同名目录,并且目录中会有所有的项目文件

git clone git@iZbp1h7fx16gkr9u4gk8v3Z:root/test.git

上传文件

1、进入到项目目录

cd test/ 

2、创建需要上传到GitLab中的目标文件

echo “test” >  /root/test.sh

3、将目标文件或者目录拷贝到项目目录下

cp /root/test.sh ./  

4、将test.sh文件加入到索引中

git add test.sh 

5、将test.sh提交到本地仓库

git commit -m “test.sh”

6、将文件同步到GitLab服务器上

git push -u origin master

7、在网页中查看上传的test.sh文件已经同步到GitLab中

更多基础教程:

快速搭建ThinkPHP框架教程

快速搭建WordPress网站教程

建网站怎么选合适的网站模版
如何几分钟内建好企业网站

Tomcat部署Java Web项目教程

部署Linux主机管理系统WDCP

快速用Discuz搭建论坛网站教程

云市场头条基础教程频道

更多开源软件尽在云市场:

https://market.aliyun.com/software

时间: 2024-11-17 18:11:49

GitLab的安装及使用教程的相关文章

云服务器 ECS 建站教程:GitLab的安装及使用

GitLab的安装及使用 前言 GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目. 它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释.可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库. 团队成员可以利用内置的简单聊天程序(Wall)进行交流. 它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找. Git的家族成员 Git:是一种版本控

virtualbox虚拟机安装Windows8图文教程

virtualbox虚拟机安装Windows8图文教程 1.双击virtualbox安装文件 2.点击Browse选择安装目录,默认安装是c盘下,我个人安装到e盘.修改好目录后,可以点击Disk Usage看下安装所需的硬盘空间,然后直接下一步安装 3.创建快捷方式 4.安装完毕后打开的界面

photoshop安装滤镜的教程

  在之前的photoshop教程中,我们分享了photoshop安装动作.photoshop安装笔刷的教程,在今天的教程中,我们将为大家分享的是photoshop安装滤镜的教程,photoshop滤镜是photoshop操作中非常重要的一个操作,那么,photoshop怎么安装滤镜呢?一起来看看今天的photoshop教程吧! photoshop photoshop安装滤镜的教程: 在PHOTOSHOP里面,滤镜是通过不同的方式改变象素数据,以达到对图象进行特殊处理效果.PHOTOSHOP的外

Windows系统下XAMPP的安装配置图文教程

  这是关于在windows下XAMPP的安装配置图文教程,XAMPP 是什么?在linux ubuntu系统下安装配置LAMP时提到了XAMPP,XAMPP为我们提供了一种在Linux.Solaris.Windows和Mac OS X系统下简易安装Apache服务器发行版的快捷方法. XAMPP(X-系统,A-Apache,M-Mysql,P-php,P- Phpmyadmin/Perl)这个缩写名称说明了XAMPP安装包所包含的文件:Apache web 服务器, MySQL数据库, PHP

FreeBSD下安装PostgreSQL新手教程

教程  FreeBSD下安装PostgreSQL新手教程  作者: heiyeluren QQ群: 5415735 (FreeBSD安装维护群) 日期: 2004/9/17 -- 特别感谢QQ群好友阿南,本文在他的耐心指导下才产生 -- PostgreSQL是一个开源的数据库管理系统,PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS), 也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统.它的很多特性正是当今许多商业数据库的前身,有些特性甚至连商业数据库都不

在CentOS上安装phpMyAdmin的教程

  这篇文章主要介绍了在CentOS上安装phpMyAdmin的教程,phpMyAdmin是一款借助PHP脚本来操作MySQL的工具,非常具有人气,需要的朋友可以参考下 前提 在CentOS上安装phpMyAdmin,你第一步需要架设一台Web服务器(如Apache或nginx),安装好MySQL/MariaDB数据库和PHP.根据你的偏好和需求,你可以从LAMP和LEMP中选择一种安装. 另一个要求是允许在你的CentOS上安装EPEL库.如果你还没设置过请猛戳这里. 在CentOS6或7上安

Mac软件怎么安装卸载 Mac软件的安装和卸载教程

  Mac软件怎么安装和卸载?Mac软件跟windows系统下的EXE文件是不一样的,所以不能共享使用,接下来小编将会为大家详细介绍Mac软件的安装和卸载教程,希望对大家有所帮助. 用软件安装包安装 1.下载针对Mac的版本.下载软件到Mac之后双击运行,这时候就会看到桌面上生成了一个新的硬盘图标.(Windows下的exe是无法在Mac上使用的) 2.同时还会弹出一个新的安装窗口,如果没有出现这个窗口,我们就去双击那个硬盘图标.我们要做的就是将软件的图标拖动到旁边的文件夹图标中. 3.这样Ma

Windows系统中安装nodejs图文教程

  这篇文章主要介绍了Windows系统中安装nodejs图文教程,本文分解了安装中的各个步骤并给出图文说明,需要的朋友可以参考下 第一步:下载安装文件 官网下载地址:http://www.nodejs.org/download/ 第二步: 安装步骤 第三步:检测是否安装完成

u启动u盘安装win8系统教程

  u启动u盘安装win8系统教程          1.我们先制作好u盘启动盘(可参考"u盘启动制作教程"),按开机启动快捷键进入u启动主菜单界面,选择"[02]u启动win8pe标准版(新机器)"并回车,如图: 2.在u启动pe装机工具中,将win8系统镜像存放在c盘中并点击确定按钮,如图: 3.弹出程序将执行还原操作窗口,点击确定即可, 4.接下来就是程序还原操作过程,静静等待还原操作结束. 5.之后电脑会再次重启,然后自动进行安装,我们只需等待安装结束.安装