Skip to content

GitLab - 安装

GitLab - 理解 GitLab 和 Runner 的安装

Section titled “GitLab - 理解 GitLab 和 Runner 的安装”

GitLab 是一个全面的 DevOps 平台,以单一应用程序形式交付。它提供 Git 仓库管理、问题追踪(issue tracking)、CI/CD 流水线(pipelines)等更多功能。你可以使用 GitLab.com(SaaS 服务,平台本身无需安装)或托管自己的自管理 GitLab 实例。

GitLab Runners 是执行你的 CI/CD 作业的代理(agents)。Runner 可以独立于 GitLab 实例安装,并且可以设置在各种操作系统和环境(物理服务器、虚拟机、Docker 容器、Kubernetes 集群)上。

本章内容包括:

  • 在 Windows 上安装和注册 GitLab Runner。
  • 在 Ubuntu 上安装自管理 GitLab 实例 (Omnibus 包)。

在安装两者之前,请确保在 Runner 或 GitLab 实例将运行的机器上安装了 Git。Git 是一种版本控制系统,对于与 GitLab 仓库交互至关重要。你可以从 git-scm.com 下载 Git。

在 Windows 上安装和注册 GitLab Runner

Section titled “在 Windows 上安装和注册 GitLab Runner”

按照以下步骤在 Windows 系统上安装和注册 GitLab Runner,它随后可以从你的 GitLab 实例(GitLab.com 或自管理实例)接收 CI/CD 作业。

步骤 1:为 GitLab Runner 创建一个文件夹。例如,C:\GitLab-Runner。

步骤 2:下载适用于 Windows 的 GitLab Runner 二进制文件。访问 GitLab Runner 官方安装文档(在 Windows 上安装 GitLab Runner),找到最新 amd64 或 x86 二进制文件的链接。下载它并将其放置到你创建的文件夹中(例如 C:\GitLab-Runner)。将下载的可执行文件重命名为 gitlab-runner.exe。

步骤 3:以管理员身份打开 PowerShell 或命令提示符。导航到你放置 gitlab-runner.exe 的文件夹。

cd C:\GitLab-Runner

步骤 4:注册 Runner。此命令将提示你输入几项信息:

.\gitlab-runner.exe register

步骤 5:输入 GitLab 实例 URL。这是你的 GitLab 实例的 URL(例如,如果你使用 GitLab.com,则为 https://gitlab.com/;对于自管理实例,则为 http://your-gitlab.example.com/)。

Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
https://gitlab.com

步骤 6:输入注册令牌(registration token)。要获取此令牌:

  • 在 GitLab 中导航到你的项目或群组。
  • 前往“Settings”(设置)>“CI/CD”。
  • 展开“Runners”部分。
  • 你将找到共享 Runner(如果管理员可用/启用)、群组 Runner 或项目 Runner 的特定注册令牌。复制适当的令牌。
Please enter the registration token:
<your_copied_token_here>

步骤 7:输入 Runner 的描述。这有助于你在 GitLab UI 中识别它。

Please enter a description for the runner:
[Windows-PC]: My Windows Shell Runner

步骤 8:输入 Runner 的标签(tags)。标签用于将特定作业定向到特定 Runner(例如 windows,build,dotnet)。使用逗号分隔标签。

Please enter tags for the runner (comma-separated):
windows,shell

步骤 9 (可选):输入可选的维护备注。

Please enter optional maintenance note for the runner:
Maintained by CI Team

步骤 10:选择执行器(executor)。执行器决定了 CI/CD 作业将如何运行。常见选项包括:

  • shell:直接在安装 Runner 的机器上运行作业。简单但隔离性较差。
  • docker:使用 Docker 容器运行作业,提供干净、隔离的环境。需要安装 Docker。
  • docker-windows:类似于 docker,但用于 Windows 容器。
  • virtualbox, parallels:使用虚拟机。
  • kubernetes:将作业部署到 Kubernetes 集群。
Please enter the executor: shell, docker, docker-windows, kubernetes, virtualbox, custom ...
shell

如果你选择了 docker 或 docker-windows,系统会要求你提供一个默认的 Docker 镜像(例如 alpine:latest 或 mcr.microsoft.com/dotnet/sdk:6.0)。

注册完成后,将在 C:\GitLab-Runner 中创建一个 config.toml 文件,其中包含 Runner 的配置。

步骤 11:将 GitLab Runner 安装为服务并启动它。

.\gitlab-runner.exe install
.\gitlab-runner.exe start

你可以通过检查 GitLab 项目/群组设置中的“Runners”部分来验证 Runner 是否处于活动状态。它应该出现在可用 Runner 的列表中。

config.toml 文件(通常位于 C:\GitLab-Runner\config.toml)存储着 Runner 的配置。你可以编辑此文件以进行高级设置。

在 Ubuntu(以及其他受支持的 Linux 发行版)上安装 GitLab 的推荐方法是使用 Omnibus 包。此包捆绑了所有必要的服务和组件。

重要提示: 请务必参考官方 GitLab 安装文档以获取最新的说明和系统要求,因为这些可能会发生变化。

一般步骤如下(以 Ubuntu 为例):

步骤 1:更新你的服务器并安装依赖项。通过 SSH 登录到你的 Ubuntu 服务器。

sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates tzdata postfix

在 Postfix 安装过程中,选择“Internet Site”(互联网站点)并输入你服务器的域名进行邮件配置。

步骤 2:添加 GitLab 软件包仓库并安装 GitLab。访问官方 GitLab 安装页面,选择你的 Linux 发行版(例如 Ubuntu),并按照提供的脚本添加仓库。然后,安装 GitLab 软件包(例如 gitlab-ce 用于社区版,gitlab-ee 用于企业版)。

脚本通常如下所示(请先在官方网站上验证!):

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo EXTERNAL_URL="http://gitlab.example.com" apt-get install gitlab-ce

将 http://gitlab.example.com 替换为你希望用于访问你的 GitLab 实例的 URL。如果你计划使用 HTTPS(推荐),请在初始设置后配置,或者如果你已准备好 SSL 证书,可以使用 https://gitlab.example.com。这个 EXTERNAL_URL 至关重要。

步骤 3:GitLab 将自行安装和配置。此过程可能需要几分钟。

步骤 4:安装完成后,打开网页浏览器并导航到你配置的 EXTERNAL_URL。首次访问时,GitLab 将提示你为初始 root 用户设置管理员密码。

步骤 5:设置密码后,你可以使用刚刚创建的密码以 root 用户登录。

GitLab 提供了一个命令行工具 gitlab-ctl 用于管理你的实例:

  • sudo gitlab-ctl reconfigure:应用对主配置文件(/etc/gitlab/gitlab.rb)所做的任何更改。
  • sudo gitlab-ctl status:显示所有 GitLab 组件的状态。
  • sudo gitlab-ctl start/stop/restart:控制所有 GitLab 服务或特定服务(例如 sudo gitlab-ctl restart nginx)。

主配置文件是 /etc/gitlab/gitlab.rb。修改此文件后,务必运行 sudo gitlab-ctl reconfigure。

请记住,自管理 GitLab 需要持续的维护,包括更新、备份和监控。