在CentOS上部署GitLab的步骤可以归纳如下。请注意,以下步骤基于CentOS 7和GitLab的较新版本,具体细节可能会因版本和环境差异而有所不同。

1. 系统环境准备

  • 检查系统版本:确保你的CentOS版本与GitLab支持的版本兼容。
  • 磁盘分区:确保有足够的磁盘空间来安装GitLab及其依赖项。
  • 外网环境配置:如果服务器位于内网环境,可能需要配置代理或下载必要的rpm包到本地进行离线安装。

内存至少4G

2. 安装依赖项

在安装GitLab之前,需要安装一系列依赖项。可以使用yum命令来安装这些依赖项:

sudo yum install -y curl policycoreutils openssh-server openssh-clients postfix cronie python3-policycoreutils policycoreutils-python

 

这些依赖项包括SSH服务(用于GitLab的SSH访问)、Postfix(用于发送邮件通知)等。

3. 配置SSH服务

确保SSH服务已安装并设置为开机自启动:

sudo systemctl enable sshd  
sudo systemctl start sshd

 

4. 配置防火墙

如果服务器启用了防火墙,需要开放GitLab所需的端口(默认为HTTP的80端口和HTTPS的443端口,但可以通过配置文件自定义)。使用firewall-cmd命令添加服务或端口:

sudo firewall-cmd --permanent --add-service=http  
sudo firewall-cmd --permanent --add-service=https  # 如果需要HTTPS访问  
sudo systemctl reload firewalld

 

5. 添加GitLab镜像源并安装GitLab

由于CentOS的官方仓库中可能没有GitLab的rpm包,因此需要添加GitLab的官方镜像源或使用第三方镜像源。这里以使用清华大学开源软件镜像站为例:

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-17.1.1-ce.0.el7.x86_64.rpm
sudo rpm -ivh gitlab-ce-17.1.1-ce.0.el7.x86_64.rpm

请注意,上述URL中的版本号(latest-ce)仅为示例,实际使用时需要替换为具体的版本号。

通过浏览打开找最新版本 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7

6. 配置GitLab

安装完成后,需要编辑GitLab的配置文件/etc/gitlab/gitlab.rb来设置GitLab的访问URL、SMTP设置、备份路径等。例如,设置GitLab的外部URL:

sudo vim /etc/gitlab/gitlab.rb  
# 找到并修改external_url 'http://gitlab.example.com'  
external_url 'http://your-gitlab-server-ip-or-domain'

7. 初始化GitLab

配置完成后,使用以下命令重新配置GitLab并启动服务:

sudo gitlab-ctl reconfigure  
sudo gitlab-ctl restart

gitlab-ctl reconfigure命令会根据/etc/gitlab/gitlab.rb中的配置重新配置GitLab,这可能需要一些时间来完成。

 

8. 访问GitLab

在浏览器中输入GitLab的URL(即你在gitlab.rb文件中设置的external_url),你将看到GitLab的登录页面。首次访问时,系统会提示你设置管理员账户的密码。

 

如果出现:

执行命令

sudo gitlab-ctl restart sidekiq 
sudo gitlab-ctl hup unicorn