在 Linux 上把 GitLab CI/CD 集成起来,核心就是两步:
1️⃣ 安装并注册 GitLab Runner
2️⃣ 在项目里写 .gitlab-ci.yml
下面按**最常见场景(Linux + Shell / Docker)**一步步来。
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
sudo apt update
sudo apt install gitlab-runner -y
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
sudo yum install gitlab-runner -y
安装完成后:
gitlab-runner --version
进入 GitLab 项目:
项目 → Settings → CI/CD → Runners → New project runner
你会得到:
sudo gitlab-runner register
按提示输入:
| 项目 | 示例 |
|---|---|
| GitLab instance URL | https://gitlab.com |
| Registration token | 从 GitLab 获取 |
| Runner description | linux-shell-runner |
| Tags | linux,shell |
| Executor | shell 或 docker |
✅ 推荐选择
shelldockersudo gitlab-runner start
sudo gitlab-runner status
(一般注册完会自动启动)
.gitlab-ci.yml在项目根目录创建:
stages:
- build
- test
build_job:
stage: build
script:
- echo "开始构建"
- make build
tags:
- linux
test_job:
stage: test
script:
- echo "开始测试"
- make test
tags:
- linux
提交后 GitLab 会自动触发 CI。
| Executor | 适用场景 |
|---|---|
| shell | 最快,直接跑在 Linux 上 |
| docker | 环境隔离,推荐 |
| docker+machine | 大规模并发 |
| kubernetes | K8s 环境 |
sudo apt install docker.io -y
sudo usermod -aG docker gitlab-runner
executor: docker
default image: alpine
image: node:18
test:
script:
- npm install
- npm test
sudo gitlab-runner list
sudo gitlab-runner verify
sudo chmod 777 /home/gitlab-runner
sudo journalctl -u gitlab-runner -f
代码 push
↓
GitLab 检测到 .gitlab-ci.yml
↓
GitLab Runner 拉代码
↓
执行 job(build / test / deploy)
如果你愿意,可以告诉我:
我可以直接给你一份可用的完整 CI 配置。