在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