往期文章:
1、公司常见的源代码管理工具 - Git、SVN、CVS基本原理以及区别简介
2、最新GitHub新手使用教程(Windows/Linux Git从安装、配置到使用)—详细图解
3、GIT常用命令超全整理
4、GitHub与GitLab的区别以及GitLab的搭建与使用
5、Git入门必看书籍推荐 - Pro Git
前言
Git — 无需多说,2020年还不知道Git的程序猿不是好程序猿
Git诞生于2005年,大神Linus的作品,Github诞生于2008年,没有Git就没有GitHub,Github已成为全球最大的代(tong)码(xing)开(jiao)源(you)社(wang)区(zhan),注册免费用户即可在Github上免费托管开源代码,如需建立私有仓库必须付费。那么Gitlab又是什么?
GitLab和GitHub一样属于第三方基于Git开发的作品,免费且开源(https://github.com/gitlabhq/gitlabhq 基于MIT协议),与Github类似,可以注册用户,任意提交你的代码,添加SSHKey等等。不同的是,GitLab是可以部署到自己的服务器上,数据库等一切信息都掌握在自己手上,适合团队内部协作开发,你总不可能把团队内部的智慧总放在别人的服务器上吧?简单来说可把GitLab看作个人版的GitHub。
换言之:
1、github是全球级别的开源代码仓库,拥有十分丰富的项目源代码,里面的源码都可以免费得到,来自于个人以及团队的贡献;
2、公司或者团队想要免费拥有自己的代码管理平台,那就采用GitHub;
3、GitLab官网:https://about.gitlab.com/
4、目前国内华为等都是用Git+GitHub来管理自己的代码;
5、GitLab全球范围使用情况(官网数据):
搭建GitLab
环境配置
- 系统:Red-Hat系列CentOS 7.x-x86_64(笔者采用的是CentOS7.2)
- CPU:建议双核以上
- 内存:2GB(官方建议4GB以上,请看下图官方给出的建议)
安装
GitLab 10.x之后添加多了一些依赖,并且要启动sshd服务,所以我们先添加依赖,启动sshd,为防火墙添加服务
sudo yum install -y curl policycoreutils-python openssh-server openssh-clients
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd –permanent –add-service=http
sudo systemctl reload firewalld
GitLab官方文档中有多种安装方式,分别为deb,rpm,node,python,gem。详情请看:https://packages.gitlab.com/gitlab/gitlab-ce/install
笔者采用的是rpm安装方式,命令行下输入
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
好了,完成之后输入
yum search gitlab
可看到库已经添加进来,注意是上边那个,我第一次添加的时候添加错成ee版,尴尬脸,ee版是企业版,ce版是社区版,从这可以看到GitLab包含了 Nginx,PostgreSQL数据库,还有Redis
有了这个之后就可以直接安装啦,输入
yum install -y gitlab
又经历一次静静的等待直到出现
此时此刻,GitLab 终于装上了! 然后按照提示 修改 /etc/gitlab/gitlab.rb 把 external_url 中的地址修改一下
完成之后执行
gitlab-ctl reconfigure
继续静静地等待配置和启动服务完成….
终于等到完成了,立马在浏览器中输入地址,结果..
甚至出现无法连接服务器,这并不是我想要的结果! 于是我立马看了下gitlab的状态
gitlab-ctl status
最后实在不死心,跑了一趟虚拟机终于给跑起来了,至此安装GitLab结束
使用
第一次进入页面的时候会提示你修改管理员密码,按照步骤修改密码登录就可以了
登录之后创建仓库,可见Gitlab还可以创建自己的私有库
也可像Github一样查看哪个日期有多少次提交
有过Github的使用经验的话使用起来就已经是很方便的了。
后记
挺久前就想搭一个自己的GitLab,由于时间精力有限(其实就是懒),到最近想到挺想玩一下然后找的资料都乱七八糟的,所以踩了点坑,到最后搭起来,希望本文对要搭GitLab的同学有所帮助,然后需要汉化的话找相对应版本的汉化包进行覆盖,查看GitLab版本命令:
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
另外被qiang住的同学可使用清华大学的开源软件镜像 :https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce
源地址: