当前位置:首页 > 问答 > 正文

Git管理 代码托管 centos6.8搭建git与centos环境下快速部署gitlab教程

在CentOS6.8上搭建Git服务与快速部署GitLab

场景引入:代码托管那些事儿

"老王,你那项目代码放哪儿了?发我一份呗!" "啊?我存本地了,等我打包发你邮箱..."

这样的对话是不是很熟悉?作为开发者,我们每天都在和代码打交道,如果没有一个好的代码管理工具,团队协作简直就是一场灾难,今天我就来教你如何在CentOS6.8系统上搭建自己的Git服务,以及快速部署功能更强大的GitLab,让你和团队告别"代码快递员"的尴尬角色。

第一部分:CentOS6.8下搭建Git服务

准备工作

确保你的CentOS6.8系统已经更新到最新状态:

yum update -y

如果你的系统是新装的,可能还需要安装一些基础工具:

yum install -y wget curl vim

安装Git

CentOS6.8的默认仓库中的Git版本比较老,我们需要先添加EPEL仓库:

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

然后安装Git:

yum install -y git

安装完成后验证版本:

git --version
# 应该显示类似 git version 1.7.1 这样的信息

创建Git用户

为了安全起见,我们专门创建一个git用户来管理仓库:

adduser git
passwd git  # 设置密码,建议设置复杂一些

初始化Git仓库

切换到git用户并创建仓库目录:

su - git
mkdir /home/git/repositories
cd /home/git/repositories

初始化一个示例仓库:

git init --bare sample-project.git

设置仓库权限:

chown -R git:git /home/git/repositories
chmod -R 755 /home/git/repositories

客户端连接测试

你可以在本地机器上克隆这个空仓库了:

git clone git@你的服务器IP:/home/git/repositories/sample-project.git

如果连接有问题,可能是SSH配置需要调整,回到服务器,编辑SSH配置:

Git管理 代码托管 centos6.8搭建git与centos环境下快速部署gitlab教程

vim /etc/ssh/sshd_config

确保有以下配置:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

然后重启SSH服务:

service sshd restart

第二部分:CentOS环境下快速部署GitLab

Git虽然好用,但对于团队协作来说功能还是有限,GitLab提供了完整的代码托管、Issue跟踪、CI/CD等企业级功能,下面教你如何快速部署。

系统要求

GitLab对系统资源有一定要求:

  • 至少4GB内存(2GB也能运行但不推荐)
  • 至少2核CPU
  • 至少10GB磁盘空间

安装必要依赖

yum install -y curl policycoreutils openssh-server openssh-clients postfix

启动Postfix邮件服务并设置开机自启:

service postfix start
chkconfig postfix on

添加GitLab仓库

CentOS6虽然已经EOL,但我们可以使用较老版本的GitLab:

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | bash

安装GitLab

yum install -y gitlab-ce-12.10.14-ce.0.el6

这个版本是支持CentOS6的最后一个稳定版本。

配置GitLab

编辑配置文件:

vim /etc/gitlab/gitlab.rb

找到external_url,修改为你的服务器地址或域名:

external_url 'http://你的服务器IP或域名'

如果你有域名并配置了SSL,可以设置为https。

重新配置并启动

gitlab-ctl reconfigure

这个过程会比较长,耐心等待,完成后启动服务:

gitlab-ctl start

访问GitLab

在浏览器中输入你设置的external_url地址,首次访问会要求设置root用户密码。

基本配置

登录后,建议进行以下配置:

Git管理 代码托管 centos6.8搭建git与centos环境下快速部署gitlab教程

  1. 调整时区(Admin Area -> Settings -> Preferences)
  2. 配置邮箱通知(Admin Area -> Settings -> Email)
  3. 设置注册限制(Admin Area -> Settings -> Sign-up Restrictions)

创建第一个项目

点击"New project",填写项目信息,然后按照页面提示在本地添加远程仓库并推送代码。

常见问题解决

内存不足问题

如果服务器内存小于4GB,GitLab可能会运行缓慢甚至崩溃,可以尝试以下优化:

vim /etc/gitlab/gitlab.rb

添加或修改以下配置:

unicorn['worker_processes'] = 2
postgresql['shared_buffers'] = "256MB"

然后重新配置:

gitlab-ctl reconfigure

502错误

如果访问GitLab出现502错误,可能是unicorn没有正常启动,检查日志:

gitlab-ctl tail unicorn

常见原因是内存不足或端口冲突。

备份与恢复

定期备份是个好习惯:

gitlab-rake gitlab:backup:create

备份文件默认存储在/var/opt/gitlab/backups目录。

恢复备份:

gitlab-rake gitlab:backup:restore BACKUP=备份文件名

写在最后

无论是简单的Git服务还是功能完善的GitLab,都能极大提升团队协作效率,对于小型团队或个人项目,原生Git服务就足够了;如果需要更强大的功能,GitLab绝对值得投入。

记得定期维护你的Git服务器,更新补丁,做好备份,代码可是程序员的心血啊!

"老王,代码更新了没?" "早更新了,自己到GitLab上看吧!" —— 这才是现代开发团队该有的对话方式,不是吗?

发表评论