平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“基于Claude Code实现方式CI/CD的完整流程”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际使用顺序,把思路、关键写法和容易踩坑的地方讲清楚,方便你直接对照操作。
开发者 push 代码 → GitHub Actions 自动触发 → 编译/测试/打包镜像 → 部署到服务器
↑ ↑
GitHub 免费提供 未来上线时加入核心思路:Claude Code 负责写代码和设置文件,GitHub Actions 负责自动化执行。两者分工明确,互不依赖。

| 工具 | 类型 | 作用 | 安装方式 |
|---|---|---|---|
| GitHub Actions | CI/CD 平台 | 自动化构建、测试、部署 | 无需安装,GitHub 内置 |
| Docker | 容器化 | 将应用打包为标准镜像 | 本地 + 服务器均需安装 |
| docker-compose | 容器编排 | 一键启动多服务(MySQL+Redis+应用) | 本地 + 服务器均需安装 |
| Maven | Java 构建 | 编译 Spring Boot 项目 | GitHub Actions 自带 |
| Node.js / npm | 前端构建 | 编译 Vue 项目 | GitHub Actions 自带 |
| Playwright | E2E 测试 | H5 端自动化测试 | CI 流水线中自动安装 |
| Git | 版本控制 | 代码管理,push 触发 CI | 本地已安装 |
不需 Jenkins:GitHub Actions 替代了 Jenkins 的角色,免去搭建和维护成本。
路径:项目根目录/.github/workflows/ci.yml
作用:定义自动化流水线,push 到 main/master 分支时自动触发。
包含三个 Job:
| Job | 内容 |
|---|---|
| build-server | Maven 编译 Spring Boot → 打包 JAR → 构建 Docker 镜像 |
| build-admin | npm 编译 Vue3 → 构建 Docker 镜像(Nginx 托管静态文件) |
| build-mobile | npm 编译 Vue3 → 运行 Playwright 测试 → 构建 Docker 镜像 |
当前 push: false,仅构建镜像不推送。上线时改为 push: true,镜像推送到 GitHub Container Registry(免费)。
作用:定义如何将该模块打包成 Docker 镜像。
fenglou-server/Dockerfile:多阶段构建,Maven 编译 → JRE 运行fenglou-admin/Dockerfile:多阶段构建,Vite 编译 → Nginx 托管fenglou-mobile/Dockerfile:多阶段构建,Vite 编译 → Nginx 托管作用:编排全部服务,一条命令启动整个项目。
services: mysql # MySQL 8.0 数据库 redis # Redis 7 缓存 server # Spring Boot 后端 (端口 8080) admin # 管理后台 (端口 8081) mobile # H5 移动端 (端口 8082)
采用方式:
# 启动全部服务 docker-compose up -d # 停止 docker-compose down
作用:Nginx 设置,处理前端路由(SPA history mode)和 /api 反向代理到后端。
作用:排除不需提交或打包的文件(node_modules、target、dist 等)。
1. 本地开发 → 写完代码 2. 告诉 Claude Code:"提交代码" 3. Claude Code 执行:git add → git commit → git push 4. GitHub Actions 自动:编译 → 测试 → 构建镜像
1. 本地开发 → 写完代码 2. 告诉 Claude Code:"提交代码" 3. Claude Code:git add → commit → push 4. GitHub Actions 自动:编译 → 测试 → 构建镜像 → 推送镜像到仓库 → SSH 服务器拉取部署 5. Claude Code 可辅助:查看 Actions 状态、SSH 排错、修改生产配置
Claude Code 本身不参与 CI 执行,它负责:
| 做的事 | 说明 |
|---|---|
| 编写设置文件 | ci.yml、Dockerfile、docker-compose.yml |
| 提交并推送代码 | git add / commit / push,触发 CI |
| 查看 CI 状态 | 用 gh CLI 查看 Actions 运行结果 |
| 排查问题 | 出错了帮你改设置或代码 |
GitHub 收到 push 后全是自动的,不需 Claude Code 在线。
Bash(git 命令)即可完成提交gh CLI(GitHub 官方命令行工具)# 提交代码并触发 CI git add . && git commit -m "描述" && git push # 本地运行完整项目(需要 Docker) docker-compose up -d # 查看 GitHub Actions 状态 gh run list gh run view <run-id>
结合项目来看,总的来说,Claude这部分内容适合结合实际项目边做边理解。先抓住核心思路,再逐步补上细节和边界处理,最后效果会更稳定,也更容易复用。