基于 Claude Code 实现 CI/CD 完整流程

基于 Claude Code 实现 CI/CD 完整流程

一、整体架构

markdown 复制代码
开发者 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 的角色,免去搭建和维护成本。


三、项目配置文件清单

1. GitHub Actions 流水线 --- .github/workflows/ci.yml

路径:项目根目录/.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(免费)。

2. Dockerfile --- 每个子项目一个

作用:定义如何将该模块打包成 Docker 镜像。

  • fenglou-server/Dockerfile:多阶段构建,Maven 编译 → JRE 运行
  • fenglou-admin/Dockerfile:多阶段构建,Vite 编译 → Nginx 托管
  • fenglou-mobile/Dockerfile:多阶段构建,Vite 编译 → Nginx 托管

3. docker-compose.yml(根目录唯一)

作用:编排全部服务,一条命令启动整个项目。

yaml 复制代码
services:
  mysql      # MySQL 8.0 数据库
  redis      # Redis 7 缓存
  server     # Spring Boot 后端 (端口 8080)
  admin      # 管理后台 (端口 8081)
  mobile     # H5 移动端 (端口 8082)

使用方式:

bash 复制代码
# 启动全部服务
docker-compose up -d

# 停止
docker-compose down

4. nginx.conf --- 前端项目各一个

作用:Nginx 配置,处理前端路由(SPA history mode)和 /api 反向代理到后端。

5. .gitignore / .dockerignore

作用:排除不需要提交或打包的文件(node_modules、target、dist 等)。


四、操作流程

当前阶段(无服务器)

markdown 复制代码
1. 本地开发 → 写完代码
2. 告诉 Claude Code:"提交代码"
3. Claude Code 执行:git add → git commit → git push
4. GitHub Actions 自动:编译 → 测试 → 构建镜像

未来阶段(有服务器后)

markdown 复制代码
1. 本地开发 → 写完代码
2. 告诉 Claude Code:"提交代码"
3. Claude Code:git add → commit → push
4. GitHub Actions 自动:编译 → 测试 → 构建镜像 → 推送镜像到仓库 → SSH 服务器拉取部署
5. Claude Code 可辅助:查看 Actions 状态、SSH 排错、修改生产配置

五、Claude Code 的角色

Claude Code 本身不参与 CI 执行,它负责:

做的事 说明
编写配置文件 ci.yml、Dockerfile、docker-compose.yml
提交并推送代码 git add / commit / push,触发 CI
查看 CI 状态 gh CLI 查看 Actions 运行结果
排查问题 出错了帮你改配置或代码

GitHub 收到 push 后全是自动的,不需要 Claude Code 在线。


六、不需要额外配置的技能/MCP

  • 上述流程不需要额外的 Skill 或 MCP 工具
  • GitHub Actions 是 GitHub 平台能力,与 Claude Code 无关
  • Claude Code 只需要 Bash(git 命令)即可完成提交
  • 查看 Actions 状态可用 gh CLI(GitHub 官方命令行工具)

七、关键命令速查

bash 复制代码
# 提交代码并触发 CI
git add . && git commit -m "描述" && git push

# 本地运行完整项目(需要 Docker)
docker-compose up -d

# 查看 GitHub Actions 状态
gh run list
gh run view <run-id>

相关推荐
Genlt1 小时前
Docker 镜像与 Dockerfile 基础指南:从编写到管理
后端
星栈1 小时前
别让 API 跳去登录页:我在 Axum 里做了认证失败双通道
前端·后端·开源
Cache技术分享1 小时前
416. 现代 Java I/O 最佳实践 - 高效、简洁、安全地处理文本与数据
前端·后端
倚栏听风雨1 小时前
EdgeValue 详细分析
后端
前端繁华如梦1 小时前
three.js从盒子到链条的程序化三维实现
前端·javascript
用户713874229001 小时前
OAuth 2.0 中的state参数:从规范到实践的深度解析
后端
倚栏听风雨1 小时前
StateGraph 详细分析
后端
用户713874229001 小时前
Cookie 深度技术指南:从原理到安全实践
后端
用户80223847734071 小时前
Tailwind CSS 生产环境部署优化与 CDN 使用规范
前端