安装Runner
bash
# 1. 先安装依赖
sudo apt update
sudo apt install -y curl ca-certificates
# 2. 拉取ubuntu的源脚本
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
# 3. 安装gitlab-runner
sudo apt install gitlab-runner
注册runner
bash
# 1. 启动注册流程
gitlab-runner register
# 然后输入url、runner描述、tag、executor。注册完刷新gitlab就可以看到新注册的runner
流水线自动发布项目
bash
# ==========================================
# 1. 定义 CI/CD 的执行阶段
# ==========================================
stages:
- build # 第一阶段:构建
- deploy # 第二阶段:部署
# ==========================================
# 2. Build:手动构建
# ==========================================
docker-build:
stage: build
# 指定执行此任务的 Runner 标签
tags:
- test_runner
# Runner 实际执行的构建命令
script:
- echo "开始执行 Build..."
- echo "当前分支:$CI_COMMIT_REF_NAME"
- echo "项目名称:$CI_PROJECT_NAME"
- echo "提交版本:$CI_COMMIT_SHORT_SHA"
# TODO:替换为实际的 Docker 构建和推送命令
# - docker build -t my-image:latest .
# - docker push my-image:latest
# Job 执行条件
rules:
# 只有 develop 分支发生 Push 更新时才显示任务
# 包括其他分支通过 MR 合并到 develop
- if: '$CI_COMMIT_BRANCH == "develop" && $CI_PIPELINE_SOURCE == "push"'
when: manual # 必须手动点击 Build
allow_failure: false # Build 必须成功,才能继续下一阶段
# 不满足条件时不创建这个 Job
- when: never
# ==========================================
# 3. Deploy:手动部署
# ==========================================
docker-deploy:
stage: deploy
# 指定执行此任务的 Runner 标签
tags:
- test_runner
# 依赖 Build Job,必须等待 Build 成功
needs:
- docker-build
# Runner 实际执行的部署命令
script:
- echo "开始执行 Deploy..."
- echo "部署项目:$CI_PROJECT_NAME"
- echo "部署版本:$CI_COMMIT_SHORT_SHA"
# TODO:替换为实际部署命令
# - docker compose pull
# - docker compose up -d
# Job 执行条件
rules:
# 只有 develop 分支发生 Push 更新时才显示任务
- if: '$CI_COMMIT_BRANCH == "develop" && $CI_PIPELINE_SOURCE == "push"'
when: manual # 必须手动点击 Deploy
allow_failure: true # 可以选择不部署,不影响 Pipeline 成功状态
# 不满足条件时不创建这个 Job
- when: never