上一篇博文介绍了搭建私有的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 | # yum install curl openssh-server postfix cronie |
安装GitLab
1 | # curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash |
整个包有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 ~~