凌峰创科服务平台

win10搭建gitlab服务器

在 Windows 上搭建,我们通常使用 GitLab for Windows (基于 GitLab CE/EE 的 Windows 版本) 或者 使用 WSL (Windows Subsystem for Linux) + Docker 这两种方式。

win10搭建gitlab服务器-图1
(图片来源网络,侵删)
  • GitLab for Windows: 这是官方推出的原生 Windows 版本,但已经停止更新和维护,它只适合学习和测试,存在严重的安全漏洞,绝对不能用于生产环境
  • WSL + Docker: 这是目前在 Windows 上体验最新、最稳定 GitLab 的最佳方式,它利用了 Linux 内核的兼容性,通过 Docker 来运行标准的 GitLab 镜像,体验接近原生 Linux 环境,也更易于维护和更新。

鉴于以上情况,我将为你详细介绍两种方法,但强烈推荐你选择 WSL + Docker 的方案


使用 GitLab for Windows (已停止维护,仅作了解)

这种方式最简单,但版本老旧且不安全。

下载安装包

访问 GitLab for Windows 的归档页面下载安装包,你可以从 这里 找到一个旧版本。 注意: 新版本已不可用。

安装

双击运行下载的 .exe 文件,按照向导进行安装,安装过程会自动下载和配置所有依赖项,包括 Ruby、Go、Redis、MySQL 等,并会注册 GitLab 服务。

win10搭建gitlab服务器-图2
(图片来源网络,侵删)

启动与访问

安装完成后,GitLab 服务会自动启动,打开浏览器,访问 http://localhost

  • 首次访问:需要设置管理员密码,在命令行(GitLab Start Menu -> GitLab CMD)中运行 gitlab-ctl reconfigure,然后按照提示设置。
  • 登录:用户名是 root,密码是你刚才设置的。

停止与卸载

  • 停止服务: gitlab-ctl stop
  • 卸载: 通过 "控制面板" -> "程序和功能" 找到 "GitLab" 并卸载。

WSL + Docker (推荐方案)

这是目前最推荐的 Windows 体验方式,能让你使用最新的 GitLab 版本。

第 0 步:系统要求

在开始之前,请确保你的 Windows 10 系统满足以下条件:

  • Windows 10 64-bit,版本 2004 (Build 19041) 或更高。
  • 已启用 WSL 2,如果不确定,可以打开 PowerShell (管理员模式) 运行 wsl --install,这会自动启用所需功能并安装 Ubuntu。
  • 已启用虚拟化,在任务管理器的 "性能" 标签页下检查 "虚拟化" 是否已启用,如果未启用,需要进入 BIOS/UEFI 开启。
  • 已安装 Docker Desktop for Windows,从 Docker 官网 下载并安装,安装时请确保选择 "Use WSL 2 based engine" 选项。

第 1 步:安装 WSL 2 和 Ubuntu

  1. 以管理员身份打开 PowerShell
  2. 运行命令 wsl --install -d Ubuntu,这个命令会自动完成以下操作:
    • 启用 WSL 功能。
    • 下载并安装最新的 WSL 2 内核。
    • 安装 Ubuntu 发行版。
  3. 安装完成后,会自动打开一个 Ubuntu 终端窗口,首次启动需要设置一个用户名和密码(这只是一个用于登录 WSL 的普通用户,不是 root)。

第 2 步:在 WSL 中安装 Docker

虽然你已经安装了 Docker Desktop,但它会在后台为 WSL 2 提供守护进程,我们只需要在 WSL 的 Ubuntu 终端中验证一下。

win10搭建gitlab服务器-图3
(图片来源网络,侵删)
  1. 打开 Ubuntu 终端。
  2. 更新包列表:sudo apt update
  3. 安装必要的依赖:sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
  4. 添加 Docker 的官方 GPG 密钥:curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  5. 添加 Docker 仓库:sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  6. 再次更新包列表:sudo apt update
  7. 安装 Docker CE: sudo apt install -y docker-ce
  8. 将当前用户添加到 docker 组,这样就不需要每次都用 sudo 来运行 docker 命令了:
    sudo usermod -aG docker $USER

    重要提示:添加用户组后,关闭当前的 Ubuntu 终端,然后重新打开一个新的终端,才能使权限生效。

第 3 步:拉取并运行 GitLab 镜像

一切准备就绪,可以在 WSL 的 Ubuntu 终端中运行 GitLab 了。

  1. 创建数据持久化目录 (非常重要!防止容器删除后数据丢失):

    sudo mkdir -p /srv/gitlab/config
    sudo mkdir -p /srv/gitlab/logs
    sudo mkdir -p /srv/gitlab/data
  2. 运行 GitLab 容器: 复制以下命令到你的 Ubuntu 终端中执行,这个命令会下载 GitLab 镜像并根据你的配置启动一个容器。

    sudo docker run --detach \
      --hostname gitlab.example.com \  # 修改为你想要的主机名
      --publish 443:443 --publish 80:80 --publish 22:22 \ # 端口映射 (HTTP, HTTPS, SSH)
      --name gitlab \
      --volume /srv/gitlab/config:/etc/gitlab \
      --volume /srv/gitlab/logs:/var/log/gitlab \
      --volume /srv/gitlab/data:/var/opt/gitlab \
      --shm-size 256m \
      gitlab/gitlab-ce:latest
    • --hostname: 设置 GitLab 的访问地址,如果你想用 IP 访问,可以改成 --hostname 192.168.x.x--hostname localhost
    • --publish: 将容器的端口映射到 Windows 主机的端口。
    • --volume: 最关键的一步,将容器内的配置、日志和数据目录挂载到 WSL 的文件系统中,实现数据持久化。
    • --shm-size: 共享内存大小,对于 GitLab 来说很重要,可以避免性能问题。

第 4 步:初始化与访问

  1. 等待初始化:运行容器后,GitLab 需要一些时间来初始化,你可以通过 sudo docker logs -f gitlab 命令来查看启动日志,当看到 GitLab is now running! 的字样时,就表示启动成功了。
  2. 获取初始 root 密码
    sudo docker exec -it gitlab cat /etc/gitlab/initial_root_password

    这个命令会输出一个很长的随机密码,请务必复制并妥善保存,这个密码只在首次初始化时有效,之后你可以通过 Web 界面修改它。

  3. 访问 GitLab: 打开 Windows 的浏览器(Chrome, Edge 等),访问 http://localhost 或你设置的 hostname
    • 用户名:root
    • 密码:就是上一步获取的密码。

第 5 步:日常维护命令

  • 停止 GitLab: sudo docker stop gitlab
  • 启动 GitLab: sudo docker start gitlab
  • 重启 GitLab: sudo docker restart gitlab
  • 查看日志: sudo docker logs -f gitlab
  • 进入容器: sudo docker exec -it gitlab bash
  • 更新 GitLab:
    1. 停止旧容器: sudo docker stop gitlab
    2. 备份数据 (非常重要!): sudo docker run --rm --volumes-from gitlab -v $(pwd):/backup busybox tar cvf /backup/gitlab_backup.tar /etc/gitlab /var/log/gitlab /var/opt/gitlab
    3. 拉取新镜像: sudo docker pull gitlab/gitlab-ce:latest
    4. 删除旧容器: sudo docker rm gitlab
    5. 用相同的 docker run 命令重新启动新容器。

总结与对比

特性 GitLab for Windows (原生) WSL + Docker (推荐)
官方支持 已停止维护,不安全 官方推荐,能使用最新版本
安装难度 非常简单 中等,需要安装 WSL 和 Docker
性能 一般,依赖 Windows 环境 优秀,接近 Linux 原生性能
数据持久化 自动处理 需要手动配置 Volume
更新维护 极其困难,基本无法更新 方便,通过 Docker 命令即可
适用场景 仅限快速、临时的本地学习和测试 适合需要稳定、最新功能的本地开发、测试环境

最终建议: 如果你只是想快速体验一下 GitLab 的界面和基本功能,并且不介意版本老旧,可以尝试方案一。 如果你想在 Windows 上获得一个功能完整、相对稳定且易于维护的 GitLab 环境,请务必选择方案二 (WSL + Docker),它虽然前期配置步骤多一些,但长期来看是更可靠、更现代的选择。

分享:
扫描分享到社交APP
上一篇
下一篇