一、Gitlab概述

GitLab概述:
是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。
Ruby on Rails 是一个可以使你开发、部署、维护 web 应用程序变得简单的框架。
GitLab拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

GitLab官网:https://about.gitlab.com/

 

二、GitLab和GitHub的区别

相同点: 二者都是基于web的Git仓库,在很大程度上GitLab是仿照GitHub来做的,它们都提供了分享开源项目的平台,为开发团队提供了存储、分享、发布和合作开发项目的中心化云存储的场所。
不同点:
1、GitHub如果要使用私有仓库,是需要付费的。GitLab可以在上面创建私人的免费仓库。
2、GitLab让开发团队对他们的代码仓库拥有更多的控制,相比于GitHub,它有不少的特色:允许免费设置仓库权限;允许用户选择分享一个project的部分代码;允许用户设置project的获取权限,进一步的提升安全性;可以设置获取到团队整体的改进进度;通过innersourcing让不在权限范围内的人访问不到该资源。
从代码私有性方面来看,有时公司并不希望员工获取到全部的代码,这个时候GitLab无疑是更好的选择。但对于开源项目而言,GitHub依然是代码托管的首选。

git相关概念:
git     是一种版本控制系统,是一个命令,是一种工具
gitlib      是用于实现git功能的开发库
github  是一个基于git实现的在线代码托管仓库,包含一个网站界面,向互联网开放
gitlab  是一个基于git实现的在线代码仓库托管软件,一般用于在企业内网搭建git私服
注:gitlab-ce 社区版 ;gitlab-ee是企业版,收费

 


三、搭建GitLab平台

3.1 环境介绍

系统:CentOS7 X 64位

下载gitlab 最新版

https://packages.gitlab.com/gitlab/gitlab-ce/

 

3.2 安装环境初始化

sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd

 

默认,使用 Postfix 发送邮件

sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

 


iptables -F  #清空规则

//关闭firewalld防火墙
systemctl stop firewalld
systemctl disable firewalld

//或是配置并更新firewalld
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld

 

3.3 安装gitlab-ce

下载最新的ce版的rpm包,可以到官网或是
国内的清华大学开源软件镜像站下载:https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/?C=M&O=D

解压并安装:
rpm -ivh gitlab-ce-12.3.5-ce.0.el7.x86_64.rpm

 

 

3.4 配置并启动GitLab

//修改gitlab.rb配置文件
vim /etc/gitlab/gitlab.rb 

改:external_url 'http://gitlab.example.com'
为:external_url 'http://gitlab安装机器的IP'


gitlab-ctl reconfigure  //重新配置gitlab,相当于初始化一下

 

gitlab-ctl status

gitlab config 文件位置 gitlab的配置文件_初始化

netstat -nultp |grep :80

gitlab config 文件位置 gitlab的配置文件_gitlab config 文件位置_02

 

gitlab的管理

关闭gitlab: # gitlab-ctl stop
启动gitlab: # gitlab-ctl start
重启gitlab: # gitlab-ctl restart

gitlab config 文件位置 gitlab的配置文件_官网_03

四、卸载gitlab

 

sudo gitlab-ctl uninstall
      sudo rpm -e gitlab-ce
      find / -name gitlab|xargs rm -rf