如何安装和注册 GitLab Runner
GitLab Runner 是一个用于运行 GitLab CI/CD (Continuous Integration/Continuous Deployment) 作业。它是一个与 GitLab 配合使用的应用程序,可以在本地或云中运行。Runner 可以执行不同类型的作业,例如编译代码、运行测试、部署应用程序等。它支持多种执行器,包括 Shell、Docker、Kubernetes 等,以便灵活地运行作业。
1. GitLab Runner 的安装
在开始安装 GitLab Runner 之前,首先需要确认你的服务器上已经安装了 Git 和 Docker(如果你打算使用 Docker executor)。下面将展示在不同操作系统上安装 GitLab Runner 的方法。
1.1 在 Linux 上安装 GitLab Runner
-
打开终端,下载 GitLab Runner 的二进制文件:
bashcurl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
-
为二进制文件添加执行权限:
bashchmod +x /usr/local/bin/gitlab-runner
-
安装并启动 GitLab Runner 服务:
bashgitlab-runner install gitlab-runner start
1.2 在 macOS 上安装 GitLab Runner
-
使用 Homebrew 安装 GitLab Runner:
bashbrew install gitlab-runner
-
安装后,启动 GitLab Runner:
bashgitlab-runner start
1.3 在 Windows 上安装 GitLab Runner
-
下载 Windows 版本的 GitLab Runner 安装包,网址:GitLab Runner 下载
-
将下载的文件重命名为
gitlab-runner.exe
,并将其移动到一个可执行路径中,例如C:\GitLab-Runner
。 -
在命令提示符中安装 GitLab Runner 服务:
bashgitlab-runner.exe install gitlab-runner.exe start
1.4 在 Ubuntu 上安装 GitLab Runner
- 添加 GitLab Runner 官方仓库
首先,添加 GitLab Runner 的官方仓库并导入 GPG 密钥。
bash
# 安装必要的依赖
sudo apt-get install -y curl
# 添加 GitLab 官方 GPG 密钥
curl -fsSL https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
- 安装 GitLab Runner
现在使用 apt
包管理器来安装 GitLab Runner。
bash
sudo apt-get install gitlab-runner
- 启动 GitLab Runner
在 Ubuntu 系统上,GitLab Runner 会作为系统服务运行。可以使用以下命令启动并启用 GitLab Runner 服务,以便在系统启动时自动运行:
bash
sudo systemctl start gitlab-runner
sudo systemctl enable gitlab-runner
2. 注册 GitLab Runner
安装完 GitLab Runner 后,需要将其注册到你的 GitLab 实例中,这样它才能运行特定项目的任务。
2.1 获取注册令牌
- 登录到你的 GitLab 实例。
- 导航到你想要注册 Runner 的项目。
- 进入
Settings
->CI / CD
,在Runners
部分找到Set up a specific Runner manually
。 - 复制项目的注册令牌。
2.2 运行注册命令
在你的服务器上运行以下命令开始注册:
bash
gitlab-runner register
然后按照提示完成注册:
- 输入 GitLab 实例的 URL,例如
https://gitlab.com/
。 - 输入上一步获取的注册令牌。
- 输入描述信息和标记(tags),用于标识 Runner,多个标签用逗号分隔。
- 选择 Runner 执行器(executor),例如
docker
、shell
、virtualbox
等。通常推荐选择docker
以便于隔离和管理。
2.3 配置 Runner
完成注册后,可以通过编辑 config.toml
文件进一步配置 Runner。此文件通常位于 Runner 安装路径下的 ~/.gitlab-runner/
目录中。根据安装环境的不同,该文件可能也位于 /etc/gitlab-runner/
目录中。config.toml
文件用于定义 Runner 的行为和特性,如使用的执行器、环境变量、缓存设置等。
可以使用以下配置示例对 config.toml
进行修改:
toml
[[runners]]
name = "my-runner"
url = "https://gitlab.com/"
token = "xxxxxxxxxxxxxxxxxxxx"
executor = "docker"
[runners.custom_build_dir]
[runners.docker]
tls_verify = false
image = "alpine:latest"
privileged = true
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/cache"]
shm_size = 0
[runners.cache]
3. 启动并验证 Runner
注册完成后,GitLab Runner 服务会自动运行。你可以通过以下命令查看其状态:
bash
gitlab-runner status
如果一切正常,GitLab 中的项目设置页面会显示新的 Runner 已注册并可以使用。
配置runner以root用户运行
在某些场景下,您可能希望以 root 用户身份运行 GitLab Runner,以便拥有更高的权限来执行 CI/CD 作业。
1. 编辑配置文件
GitLab Runner 注册完成后,默认的配置文件位于 /etc/gitlab-runner/config.toml
。使用文本编辑器打开该文件:
bash
sudo nano /etc/gitlab-runner/config.toml
在 [[runners]]
配置块中,添加或修改 user
选项为 root
:
toml
[[runners]]
name = "my-runner"
url = "https://gitlab.com/"
token = "YOUR_RUNNER_TOKEN"
executor = "shell"
user = "root"
[runners.custom_build_dir]
[runners.cache]
2. 重启 GitLab Runner
保存配置文件后,需要重启 GitLab Runner 以使更改生效:
bash
sudo gitlab-runner stop
sudo gitlab-runner start
或者使用系统服务管理工具:
bash
sudo systemctl daemon-reload
sudo systemctl restart gitlab-runner
参考链接
- GitLab Runner 文档:https://docs.gitlab.com/runner/
- GitLab CI/CD 配置:https://docs.gitlab.com/ee/ci/
- Docker 安装指南:https://docs.docker.com/engine/install/