在 CentOS 上部署的 GitLab 中集成 CI(GitLab CI/CD),通常有以下几种常见方式和完整步骤。下面按“最常用、最标准”的方式讲。
GitLab 本身自带 CI/CD 引擎,你只需要:
.gitlab-ci.yml假设:
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
yum install gitlab-runner -y
安装完成后:
gitlab-runner --version
进入 GitLab:
Project → Settings → CI/CD → Runners
你会看到:
sudo gitlab-runner register
按提示输入:
URL: https://gitlab.example.com/
Token: xxxxxx
Description: centos-runner
Tags: centos, shell
Executor: shell
常用 Executor:
shell(最简单,CentOS 本机执行)docker(推荐,隔离性好)sudo gitlab-runner start
查看状态:
sudo gitlab-runner status
在 GitLab 页面能看到 Runner 已在线。
.gitlab-ci.yml在项目根目录创建:
stages:
- build
- test
- deploy
build_job:
stage: build
script:
- echo "Building..."
- make build
test_job:
stage: test
script:
- echo "Testing..."
- make test
deploy_job:
stage: deploy
script:
- echo "Deploying..."
- sh deploy.sh
only:
- main
提交后:
git add .gitlab-ci.yml
git commit -m "add ci"
git push
Runner 默认用户是 gitlab-runner
usermod -aG wheel gitlab-runner
或:
visudo
gitlab-runner ALL=(ALL) NOPASSWD:ALL
yum install docker -y
systemctl start docker
注册时:
Executor: docker
Default image: centos:7
deploy:
stage: deploy
script:
- scp app.jar root@192.168.1.10:/opt/app/
- ssh root@192.168.1.10 "systemctl restart app"
project/
├── .gitlab-ci.yml
├── Dockerfile
├── deploy.sh
└── src/
如果你愿意,可以告诉我:
我可以直接给你一套 可用 CI 配置模板。