gitlab私有化部署

以下是整理好的Markdown格式文档,详细描述了从下载镜像、启动镜像、修改external_url以及设置或重置root密码的步骤。

GitLab 安装与配置指南

本文档将指导您完成GitLab的安装和基本配置过程,包括下载镜像、启动容器、修改外部访问URL(external_url)及设置或重置管理员(root)密码。

一、下载GitLab镜像

首先需要确保您的系统中已经安装了Docker。然后执行以下命令来下载GitLab官方镜像:

bash 复制代码
docker pull gitlab/gitlab-ce:latest

**

二、启动GitLab容器

**

使用如下命令启动GitLab容器,并根据实际需求调整参数(如端口映射等):

bash 复制代码
docker run --detach \
  --hostname 192.168.0.3 \
  --publish 443:443 --publish 80:80 --publish 2222:22 \  # 注意这里SSH端口被映射到了2222,避免与主机上默认SSH服务冲突
  --name gitlab \
  --restart always \
  --volume /srv/gitlab/config:/etc/gitlab \
  --volume /srv/gitlab/logs:/var/log/gitlab \
  --volume /srv/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

处理端口冲突

如果遇到端口已被占用的情况,请修改对应的端口号(例如将--publish 22:22改为--publish 2222:22),以避免冲突。

三、修改external_url

首次启动后,可能需要根据实际情况修改GitLab实例的访问地址。编辑/etc/gitlab/gitlab.rb文件中的external_url字段:

bash 复制代码
docker exec -it gitlab vi /etc/gitlab/gitlab.rb

找到并修改如下行:

ruby 复制代码
external_url 'http://192.168.0.3'

保存退出后,重新配置GitLab使更改生效:

ruby 复制代码
docker exec -it gitlab gitlab-ctl reconfigure

四、设置或重置管理员(root)密码

设置初始密码

首次访问GitLab时,系统会提示你为root用户设置一个新密码。请按照页面指示操作完成设置。

重置忘记的密码

若已设置过但忘记了密码,可以通过以下命令进入GitLab Rails控制台重置密码:

bash 复制代码
 docker exec -it gitlab gitlab-rails console

在控制台中执行:

bash 复制代码
user = User.find_by(username: 'root')
user.password = 'new_password'   # 替换为您想要的新密码
user.password_confirmation = 'new_password'
user.save!

完成后输入exit退出控制台。

通过以上步骤,您可以成功部署GitLab实例,并根据自己的需求进行相应的配置。

相关推荐
白帽攻防录28 分钟前
SRC 挖洞:GitLab GraphQL 指令绕过深度复盘,CVE-2026-19478 未授权删项目怎么打穿代码托管平台
网络·网络安全·gitlab·graphql
daemon.qiang10 天前
国内虚拟机对接 Freedesktop:Fork xserver、自建 Runner 与提交 MR 实战
linux·ubuntu·centos·gitlab·开源软件
snow@li15 天前
服务器运维:K3S 下 Jenkins ↔ GitLab 的 CI/CD 闭环 / 访问成功
运维·gitlab·jenkins
旧梦星轨17 天前
Git Flow 工作流实践
git·gitee·gitlab·github
旧梦星轨17 天前
Github Flow 与 Gitlab Flow工作流实践解读
gitlab·github
极小狐20 天前
干掉流水线里的长期密钥:用 OIDC 让 CI/CD 与云以临时凭证对接
microsoft·ci/cd·gitlab·devops·ci·cd·oidc
snow@li20 天前
服务器运维:阿里云安装软件gitlab/智能体协助安装/智能体协同运维
运维·gitlab
极小狐21 天前
CI 流水线提速实战:缓存设计与依赖代理的工程实践
缓存·ci/cd·gitlab·devops
DevOps老兵22 天前
AI Infra实战11:模型部署Pipeline——CI/CD自动化
人工智能·ci/cd·ai·自动化·gitlab
极小狐22 天前
从复制粘贴到可复用组件:极狐GitLab CI/CD 组件目录实战
java·ci/cd·gitlab·devops·组件化