一、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
netstat -nultp |grep :80
gitlab的管理
关闭gitlab: # gitlab-ctl stop
启动gitlab: # gitlab-ctl start
重启gitlab: # gitlab-ctl restart
四、卸载gitlab
sudo gitlab-ctl uninstall
sudo rpm -e gitlab-ce
find / -name gitlab|xargs rm -rf