下面以 Linux 服务器上自建 GitLab 为例,系统讲一下 GitLab CI 的集成方式,从原理到实操。
GitLab CI 由两部分组成:
流程:
代码 push
↓
GitLab 读取 .gitlab-ci.yml
↓
分配给 Runner
↓
Runner 执行 job
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
Ubuntu:
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
sudo yum install gitlab-runner -y
# Ubuntu
sudo apt install gitlab-runner -y
在 GitLab 项目中:
Settings → CI/CD → Runners
你会看到:
sudo gitlab-runner register
按提示输入:
shell 或 docker)示例(shell):
executor: shell
在项目根目录创建:
stages:
- build
- test
build_job:
stage: build
script:
- echo "Building..."
- make build
test_job:
stage: test
script:
- echo "Testing..."
- pytest
提交后 GitLab 会自动触发 CI。
executor = shell
适合:
⚠ 注意权限问题(gitlab-runner 用户)
executor = docker
default_image = alpine:latest
优点:
sudo gitlab-runner status
sudo gitlab-runner restart
sudo usermod -aG docker gitlab-runner
CI/CD → Pipelines → Run Pipeline
如果你愿意,可以告诉我:
我可以给你一份 可直接用的 .gitlab-ci.yml 模板。