Git远程10:搭建私有GitLab

上一篇博文介绍了搭建私有的Git Server。此方式适合小型团队使用,而且项目最好比较单一。如果是人数较多的团队,工程比较多,日常的维护工作量会很大。GitHub和GitLab很好用,但GitHub只能提供Public机制的库。GitLab可以提供Private机制的库,可是速度实在是太慢了。最好的方法是在团队服务器上搭建类似的服务,安全性和服务均可保障,本文介绍如何搭建GitLab服务。

环境和准备工作

操作系统:CentOS6.6
IP地址:192.168.80.6
建立git用户。

1
2
3
4
5
6
7
8
# useradd git
# passwd git # 输入git密码
Changing password for user git.
New password:
BAD PASSWORD: it is WAY too short
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.

关闭防火墙。

1
2
# service iptables stop
# chkconfig iptables off

安装依赖库

1
2
3
4
# yum install curl openssh-server postfix cronie
# service postfix start
# chkconfig postfix on
# lokkit -s http -s ssh

安装GitLab

1
2
# curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
# yum install gitlab-ce

整个包有300多MB,如果使用yum无法下载,可以直接下载RPM包

1
# wget -c https://packages.gitlab.com/gitlab/gitlab-ce/el/6/x86_64/gitlab-ce-7.13.3-ce.1.el6.x86_64.rpm

若还是很慢,复制下载地址用下载工具下载。汪汪的网盘也提供了下载,路径为/GitLab
手动安装rpm包。

1
# rpm -ivh gitlab-ce-7.13.3-ce.1.el6.x86_64.rpm

配置GitLab

直接启动GitLab并不能正常工作,需要进行配置,其所有的配置都在配置文件/etc/gitlab/gitlab.rb中。此文件太长,太多的注释,后期研究可以查看此文档,在此从简配置。

1
2
3
4
# mv /etc/gitlab/gitlab.rb{,.bck}
# echo external_url \'http://192.168.80.6:8081\' >> /etc/gitlab/gitlab.rb
# echo gitlab_rails[\'gitlab_email_from\'] = \'higoge@learnit.com\' >> /etc/gitlab/gitlab.rb
# echo git_data_dir \"/home/git\" >> /etc/gitlab/gitlab.rb

解释如下:第一个命令是备份配置文件,第二个命令是配置访问IP和端口,第三个命令是发送确认邮件的邮箱(无需真实存在),第四个命令是git的数据dir。
每次修改完配置文件,都需要执行如下命令。

1
# gitlab-ctl reconfigure

测试及注册用户

开启浏览器输入http://192.168.80.6:8081,应该就可以看到主界面了。

按照步骤进行注册,会给注册邮箱发送确认信息邮件。Gmail直接把邮件当垃圾邮件了,不管如何,点击“Confirm your account”,确认即可。

之后就可以创建Project,配置SSH Key,进行Clone和推送拉取了。

新建的项目在服务器的地址是/home/git/repositories/learnit下,每个项目有两个git目录,一个是项目本身的,一个是项目WIKI的。

1
2
# ls /home/git/repositories/learnit
firstproject.git firstproject.wiki.git

其他

第1章为了简化配置,我们关闭了防火墙,如有需要,请自行配置防火墙。
关于GitLab的更加详细的配置,请参考GitLab的官方文档
GitLab的免费社区版和收费企业版的区别见此

如果本文对你有所帮助,请小额赞助
~~ EOF ~~