GitLab本地安装指南

当前GitLab的最新版是v17.10,安装地址:https://about.gitlab.com/install/。当然国内也可以安装极狐GitLab版本,极狐GitLab 是 GitLab 中国发行版(JH)。极狐GitLab支持龙蜥,欧拉等国内的操作系统平台。安装地址及说明,请点击该链接:极狐GitLab下载

这里就以极狐版本为例了,服务器使用的龙蜥操作系统,以下是官网手册:

注意:以下安装教程是特定版本的极狐GitLab 在 Anolis OS 8.8 RHCK/ANCK 上的安装流程。
1. 安装和配置所需的依赖

执行下面命令完成依赖安装:

复制代码
sudo yum update
sudo yum install -y curl policycoreutils-python-utils openssh-server perl
sudo systemctl enable sshd
sudo systemctl start sshd
注意:如果依赖安装过程中出现错误,可以根据错误提示信息进行错误处理。
2. 下载极狐GitLab 安装包

下载适用于 Anolis 操作系统的极狐GitLab 安装包,这个需要根据自身情况选择合适的极狐GitLab 版本,比如以极狐GitLab 17.7.0 为例,针对 x86_64 架构,执行如下命令即可完成下载:

复制代码
curl -LOS https://packages.gitlab.cn/repository/el/8/gitlab-jh-17.7.0-jh.0.el8.x86_64.rpm
注意:您需要根据自身所用的 Anolis 操作系统版本下载对应的极狐GitLab 版本。

接下来,安装极狐GitLab。安装之前,需要确保您的DNS设置正确。注意:如果不设置域名,就没必要设置DNS了。此外,还需要通过设置 EXTERNAL_URL 环境变量来指定极狐GitLab 实例的 URL。

如果您想通过 HTTPS 来访问实例,那么您可以根据官方文档进行配置,让实例使用 Let's Encrypt 自动请求 SSL 证书,这需要有效的主机名和入站 HTTP 访问。您也可以使用自己的证书或仅使用 http://(不带 s)。

如果您想为初始管理员用户( root )指定自定义的初始密码,可以根据文档指导进行配置。否则将默认生成随机密码。

接下来执行如下命令开始安装:

复制代码
export EXTERNAL_URL="https://ip地址" && rpm -ivh gitlab-jh-17.7.0-jh.0.el8.x86_64.rpm

其他配置详情可以查看 Omnibus 安装配置文档

3. 登录极狐GitLab 实例

使用第二步 EXTERNAL_URL 中配置的地址来访问安装成功的极狐GitLab 实例。用户名默认为 root 。如果在安装过程中指定了初始密码,则用初始密码登录,如果未指定密码,则系统会随机生成一个密码并存储在 /etc/gitlab/initial_root_password 文件中, 查看随机密码并使用 root 用户名登录。

注意:出于安全原因,24 小时后,/etc/gitlab/initial_root_password 会被第一次 gitlab-ctl reconfigure 自动删除,因此若使用随机密码登录,建议安装成功初始登录成功之后,立即修改初始密码。

-------------------------------------------------分割线-------------------------------------------------

按照以上手册进行安装,我遇到了提示没有postgresql的错误,于是我手动安装了postgresql,然后重新执行上面的安装步骤,就没有报错了,安装完成。其他配置,可以参考官网:手册

使用命令查看启动状态:

bash 复制代码
gitlab-ctl status

正常情况下,会有如下这些进程:

bash 复制代码
[root@localhost lib]# gitlab-ctl status
run: alertmanager: (pid 350479) 598180s; run: log: (pid 350101) 598239s
run: gitaly: (pid 350493) 598179s; run: log: (pid 3848550) 613682s
run: gitlab-exporter: (pid 350516) 598178s; run: log: (pid 350000) 598259s
run: gitlab-kas: (pid 350554) 598166s; run: log: (pid 345443) 598445s
run: gitlab-workhorse: (pid 350573) 598166s; run: log: (pid 349916) 598273s
run: logrotate: (pid 839679) 559s; run: log: (pid 3848040) 613694s
run: nginx: (pid 350610) 598165s; run: log: (pid 349942) 598269s
run: node-exporter: (pid 350622) 598165s; run: log: (pid 349983) 598265s
run: postgres-exporter: (pid 350628) 598164s; run: log: (pid 350133) 598233s
run: postgresql: (pid 350640) 598162s; run: log: (pid 3849042) 613671s
run: prometheus: (pid 350642) 598162s; run: log: (pid 350066) 598245s
run: puma: (pid 350665) 598161s; run: log: (pid 349843) 598285s
run: redis: (pid 350670) 598161s; run: log: (pid 3848300) 613688s
run: redis-exporter: (pid 350678) 598161s; run: log: (pid 350032) 598254s
run: sidekiq: (pid 350688) 598158s; run: log: (pid 349862) 598278s

第一次启动时,我还遇到了postgresql起不来的问题。官网有介绍,如果使用内置的postgresql,无需做任何配置,所以我把刚才安装的postgresql又给卸载了,但db还是起不来,这个时候需要去/var/log/gitlab目录下查看对应的进程的日志。上面列出来的每个进程在该目录下都有对应的日志目录。打开postgresql的日志发现,有这么一段错误:

bash 复制代码
2025-04-09_13:03:46.54667 FATAL:  could not map anonymous shared memory: Cannot allocate memory
2025-04-09_13:03:46.54670 HINT:  This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory, swap space, or huge pages. To reduce the request size (currently 4262232064 bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.
2025-04-09_13:03:46.54671 LOG:  database system is shut down

使用free -h命令,查看可用内存不多,上面的错误就表示请求的共享内存超出了系统可用资源,导致postgresql起不来。因为这台机器本身的内存也不大,可以选择修改 /etc/gitlab/gitlab.rb,降低参数:

bash 复制代码
postgresql['shared_buffers'] = "512MB"

然后重新配置并重启:

bash 复制代码
gitlab-ctl reconfigure
gitlab-ctl restart

接下来,查看系统启动情况:

bash 复制代码
gitlab-ctl status

一切正常,则可以访问web界面了,默认端口是80,所以直接输入ip即可进入登录界面,如果没有设置密码,则初始密码在/etc/gitlab/initial_root_password中。

相关推荐
黑心的奥利奥1 天前
Docker配置Gitlab-runner实现自动化容器化部署前端项目
docker·自动化·gitlab
wuzuyu3651 天前
在腾讯云上安装gitlab
云计算·gitlab·腾讯云
xiaodaiwang2 天前
OpenEuler 22.03 系统上安装配置gitlab runner
gitlab
TimberWill2 天前
gitlab私服搭建
gitlab
中东大鹅2 天前
访问 gitlab 跳转 0.0.0.0
gitlab
guygg883 天前
配置本地git到gitlab并推送
git·gitlab
大A崛起3 天前
Gitlab-CI实现组件自动推送
ci/cd·gitlab·github
越来越无动于衷3 天前
GitLab 社区版 10.8.4 安装、汉化与使用教程
gitlab
DevOps0084 天前
将 RustFS 用作 GitLab 对象存储后端
rust·gitlab·minio·分布式存储·s3·rustfs
weixin_448113225 天前
gitlab-ce本地化部署
gitlab