本文主要在Centos系统上搭建三种Git服务器,主要介绍GitLab(企业Git)服务器的搭建。
一 简单Git服务器搭建
(1)安装git
(2)添加git用户
useradd git
passwd git
(3)初始化Git仓库
#创建git数据存储目录
mkdir data
cd data
#初始化裸仓库,没有工作区
git init --bare test.git
#更改test.git的用户所有者
chown -R git:git test.git
(4)git服务器管理公匙
拷贝本机生成的公匙到git服务器/tmp/id_rsa.john.pub 下,并将这些公钥加入git服务器系统用户 git 的 .ssh 目录下 authorized_keys 文件的末尾。
cd /home/git
#创建.ssh目录
mkdir .ssh
#创建authorized_keys文件
vi authorized_keys
#追加到 authorized_keys 文件的末尾
cat /tmp/id.pub >> ~/.ssh/authorized_keys
二 GitLab(企业Git)服务器搭建
前面手动搭建的git服务器,对于大公司说,有点简单,因此有必要利用gitlab搭建一个git服务器。gitlab集代码管理,测试,部署与一起的仓库。
Code, test, and deploy together ——GitLab官网
我们主要利用gitlab开源社区版(商业版用不起)在Centos 7 上搭建gitlab服务器。
2.1 系统要求
(1)支持Ubuntu、Debian、CentOS、Red Hat Enterprise Linux (please use the CentOS packages and instructions)、Scientific Linux (please use the CentOS packages and instructions)、Oracle Linux (please use the CentOS packages and instructions)64 位系统,不支持32位系统
不支持OS X、Arch Linux、Fedora、Gentoo、FreeBSD系统
不支持非Unix系统
如下图
(2)内存
至少 2GB 内存,我设置了2G ram 、 2g swap
否则 页面报500 错误。
(3)由于GitLab是利用 Ruby on Rails 开发的,因此依赖于Ruby
#查看是否安装Ruby
rpm -qa | grep Ruby
2.2 安装GitLab
(1)安装前检查
安装gitlab,有两种方式,一种是源码编译安装,另一种是整体安装,我们采用第二种方式:
#查看是否安装ssh,centos7 默认是安装ssh的
rpm -qa | grep openssh
#查看结果
#openssh-6.6.1p1-11.el7.x86_64
#openssh-server-6.6.1p1-11.el7.x86_64
#openssh-clients-6.6.1p1-11.el7.x86_64
#安装url下载工具,用来远程下载gitlab
yum install curl policycoreutils
#启动ssh服务
systemctl enable sshd
systemctl start sshd
#查看是否安装postfix(开源邮件服务器),centos 7默认是安装postfix的
#rpm -qa | grep postfix
#postfix-2.10.1-6.el7.x86_64
#启动postfix服务
systemctl enable postfix
systemctl start postfix
#CentOS7 用的是Firewall防火墙,之前版本用的是iptables
#查看防火墙状态
firewall-cmd --state
#默认是running
#修改防火墙,永久允许服务http通过防火墙
firewall-cmd --permanent --add-service=http
#重启防火墙
systemctl reload firewalld
(2)下载gitlab开源社区版
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
#安装gitlab开源社区版,尽量用yum安装,方便维护升级,用rpm安装升级维护不方便。
yum install gitlab-ce
由于Centos的默认源下载速度太慢,可以配置国内的网易源,配置方法如下地址:
http://mirrors.163.com/.help/centos.html
(3)配置并启动gitlab
gitlab-ctl reconfigure
(4)打开浏览器登录
初始用户名密码
Username: root
Password: 5iveL!fe
登录页面如下:
后续详解gitlab的具体使用。
三 GitHub(开源Git)服务器搭建
这个大家都很熟悉,GitHub是一个免费托管开源代码的远程仓库。下面简单介绍一下:
(1)注册GitHub账号
(2)安装git,参见上篇git使用总结
(3)创建SSH Key
Windows下打开Git Bash
$ ssh-keygen -t rsa -C "邮箱名称"
(4)Github服务器配置SSH
(5)在GitHub上新建远程项目库,克隆到本机,开发项目,参见上篇git使用总结。
参考文章
1.廖雪峰git教程
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
2.GitLab官网教程 https://about.gitlab.com/downloads/
3.Centos7 Firewall防火墙 https://blog.linuxeye.com/406.html