ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

CCX 项目开发工作流速查:Make 命令、Bun 脚本与 Docker 部署全指南

CCX 项目开发工作流速查:Make 命令、Bun 脚本与 Docker 部署全指南 API网关LLM 网关后端【免费下载链接】ccxClaude / Codex / Gemini API Proxy - CCX项目地址https://gitcode.com/gh_mirrors/cc/ccx点击查看免费下载CCXClaude / Codex / Gemini API Proxy是一个多上游 AI API 代理与协议转换网关代码库由 Go 后端、Vue 3 前端与可选桌面端构成。本文以仓库内的开发命令速查文档为骨架结合根目录与子模块的 Makefile、前端 package.json、Docker Compose 配置与 Air 热重载配置系统梳理从依赖安装、热重载开发、构建、测试、代码规范检查到容器化部署的完整命令行工作流帮助开发者快速上手并避免踩坑。命令速查总览仓库推荐的开发命令覆盖四个层级可在任意时刻按需取用层级命令用途全栈make dev同时启动前端 dev server 与后端热重载全栈make run构建并嵌入前端后运行后端全栈make build构建前端并编译 Go 生产版本全栈make frontend-dev仅从根目录启动前端开发服务器全栈make clean清理全部构建产物后端cd backend-go make dev后端 Air 热重载开发后端cd backend-go make run直接运行后端自动复制前端资源后端cd backend-go make build构建生产版本到dist/后端cd backend-go make build-local构建当前平台本地二进制后端cd backend-go make test运行全量测试后端cd backend-go make test-cover测试并生成覆盖率报告后端cd backend-go make fmt格式化 Go 代码后端cd backend-go make lint运行 golangci-lint 静态检查后端cd backend-go make deps整理并下载依赖前端cd frontend bun install安装前端依赖前端cd frontend bun run dev启动 Vite 开发服务器前端cd frontend bun run build类型检查并构建前端cd frontend bun run preview本地预览构建产物前端cd frontend bun run type-checkVue/TS 类型检查前端cd frontend bun run lintESLint 代码检查容器docker-compose up -d以容器方式启动 CCX 服务下文逐层详解每条命令背后的实际执行逻辑与适用场景。全栈开发根目录 Make 命令根目录 Makefile 是全栈工作流的入口统一封装了前端、后端与桌面端的联动操作。依赖安装make install首次克隆仓库后推荐先执行make install它会一次性完成四类准备cd frontend bun install安装前端依赖cd desktop/frontend bun install安装桌面端前端依赖cd backend-go go mod download与cd desktop go mod download下载 Go 依赖安装 Wails 3 CLI并检测air是否已存在缺失时通过go install github.com/air-verse/airlatest自动补齐热重载工具。开发模式make devmake dev会同时启动前端开发服务器与后端热重载dev: cd frontend bun run dev cd backend-go $(MAKE) dev其中前端 Vite dev server 以后台方式运行Vue 3 应用见 frontend/package.json后端则进入 Air 热重载循环。这是日常迭代 UI 与接口时最常用的组合命令。运行与构建make run/make build这两个命令都依赖embed-frontend目标通过scripts/embed-frontend.sh将frontend/构建产物嵌入backend-go/frontend/dist/并借助.build-sentinel哨兵文件实现增量构建仅当frontend/src、frontend/public、index.html、vite.config.ts、tsconfig.json等源文件变化时才重新嵌入。make run嵌入前端后进入backend-go执行后端run自动复制前端资源并以go run直接运行make build嵌入前端后执行后端build产出生产二进制。单独前端开发make frontend-dev仅希望操作 UI 层时可使用make frontend-dev等价于cd frontend bun run dev不触碰后端进程。清理make cleanmake clean依次清理后端构建文件tmp/、frontend/dist/、二进制与覆盖率报告并删除frontend/dist、desktop/bin、desktop/dist、desktop/frontend/dist、desktop/.task等构建产物。注意按仓库约定构建产物目录dist/等属于生成物不应手工编辑。Go 后端backend-go 目录下的 Make 命令后端全部命令需在backend-go/子模块内执行定义见 backend-go/Makefile。该 Makefile 同时是版本信息的注入源头构建时通过LDFLAGS将根目录 VERSION 文件中的版本号、构建时间与 Git commit 注入二进制-X main.Version -X main.BuildTime -X main.GitCommit。热重载开发make devmake dev先检测air工具是否安装缺失则自动安装随后执行air。监听行为由 backend-go/.air.toml 定义监听扩展名go、tpl、tmpl、html、yaml、yml、toml、env排除目录assets、tmp、vendor、testdata、frontend、dist、.git等额外监听文件.env变更触发编译延迟 1000ms编译错误写入build-errors.log并停止旧进程stop_on_error true退出时自动清理tmp/目录。修改.go或.yaml、.toml、.env文件后Air 会自动重新编译并重启进程适合快速调试路由、鉴权与调度逻辑。直接运行与构建make run/make build/make build-localmake run先执行copy-frontend把../frontend/dist/产物复制到backend-go/frontend/dist/若前端产物缺失会给出明确提示再以go run -ldflags$(LDFLAGS)带版本信息运行make build以CGO_ENABLED0静态编译并加-s -w裁剪符号输出到../dist/ccx-go适合生产与容器分发make build-local不加 CGO 与裁剪选项直接输出当前平台二进制./ccx-go适合本机快速验证。测试与覆盖率make test/make test-covertest: go test -v ./... test-cover: go test -v -cover -coverprofilecoverage.out ./... go tool cover -htmlcoverage.out -o coverage.htmlmake test以 verbose 模式运行全量测试仓库后端internal/下每个核心模块路由、调度、协议转换、鉴权等均配有同名_test.go文件make test-cover额外生成coverage.out与可浏览的coverage.html覆盖率报告。仓库记忆中的任务完成清单也明确要求后端改动后优先运行make test验证且建议在改动 Go 代码后执行make fmt或go fmt ./...保持格式一致。代码质量make fmt/make lint/make depsmake fmt执行go fmt ./...统一代码风格make lint检测golangci-lint缺失时自动安装随后执行golangci-lint run做静态检查make deps依次执行go mod tidy与go mod download同步并下载依赖依赖树可通过deps-treego mod graph查看。Vue 3 前端Bun 脚本详解前端技术栈为 Vue 3 Vite Vuetify TypeScript包管理器使用 Bun全部脚本定义在 frontend/package.json 的scripts字段中命令底层脚本说明bun install—安装依赖根目录make install也会调用它bun run devvite启动开发服务器配合后端make dev使用bun run buildvue-tsc --noEmit vite build先做严格类型检查再构建类型错误会阻断构建bun run previewvite preview本地预览构建产物bun run type-checkvue-tsc --noEmit仅执行 Vue/TS 类型检查不改动文件bun run linteslint . --ext .vue,.js,.tsESLint 检查另有lint:fix自动修复bun run formatprettier --write ...用 Prettier 格式化src/下代码bun run testvitest run运行单元测试另有test:watch监听模式bun run build中内置vue-tsc --noEmit是仓库刻意设计的质量闸门Vue/TS 类型不通过则不会产出dist/产物避免带病构建。仓库风格与约定要求前端保持严格类型Keep strict typing因此日常改动后建议依次执行type-check、lint最后build。Docker 容器部署一键容器化部署只需docker-compose up -d根目录 docker-compose.yml 定义了ccx单服务一体化架构后端 API 前端界面同端口端口宿主机与容器均映射3000:3000前端界面、API 与管理接口统一入口持久化./.config挂载为/app/.config配置、metrics.db、备份等运行时数据./logs可选挂载日志目录环境变量ENVproduction、ENABLE_WEB_UItruetrue 为一键模式false 为纯 API 模式、PROXY_ACCESS_KEY为代理访问密钥可选ADMIN_ACCESS_KEY独立管理密钥、LOG_LEVEL、ENABLE_REQUEST_LOGS、ENABLE_RESPONSE_LOGS等健康检查每 30s 以wget --spider http://localhost:3000/health探测start_period40s 的启动宽限资源限制内存上限 256M、预留 64MCPU 上限 0.5、预留 0.25Go 应用内存占用较低重启策略unless-stopped。如需本地构建镜像可注释image行并启用build段中国网络环境可切换为Dockerfile_China构建。实用开发提示macOS/Darwin CLI文档最后给出三条日常 CLI 使用约定与仓库协作规范一致搜索优先使用rg而非grepripgrep 更快且默认支持 Git 忽略规则适合在大型 Go/TS 代码库中检索定义与调用点对可能含空格的路径使用引号包裹避免路径解析失败避免破坏性 Git 操作除非显式要求不执行reset、rebase强推等操作——风格与约定记忆同样声明不主动执行 commit、branch、push、reset改动保持作用域最小化遵循 SOLID、KISS、DRY、YAGNI 原则。验证闭环改完代码后做什么综合仓库记忆与 任务完成清单推荐的验证流程为后端改动cd backend-go make fmt格式化 → 先跑相关聚焦测试 →cd backend-go make test全量回归前端改动cd frontend bun run build含类型闸门必要时补bun run type-check与bun run lint全栈/文档改动make build、cd backend-go make test、cd frontend bun run build三件套兜底并对照 VERSION、Makefile、backend-go/Makefile、frontend/package.json 与 backend-go/main.go 核实事实全部验证通过后再交付并明确说明改动内容与已执行的验证命令。掌握上述命令矩阵后即可在 CCX 仓库内完成从依赖安装、热重载联调、质量检查到容器发布的完整开发闭环。赞分享API网关LLM 网关后端【免费下载链接】ccxClaude / Codex / Gemini API Proxy - CCX项目地址https://gitcode.com/gh_mirrors/cc/ccx点击查看免费下载相关推荐Apache Arrow 日常开发工具 Archery 完全指南安装、命令与 Docker 工作流Apache Arrow 日常开发工具 Archery 完全指南安装、命令与 Docker 工作流 本文以 Apache Arrow 仓库中的官方开发者文档为数据工程数据分析大数据BiliBiliToolPro Docker 部署完全指南一键脚本、Docker Compose 与手动指令实战BiliBiliToolPro Docker 部署完全指南一键脚本、Docker Compose 与手动指令实战 本指南以 docker/README.md后端任务调度工作流自动化AutoBangumi项目Docker命令行部署指南AutoBangumi项目Docker命令行部署指南 前言 AutoBangumi是一款优秀的自动化追番工具能够帮助动漫爱好者自动整理和下载最新剧集。本文将详后端前端音视频上一篇Apache SkyWalking 慢数据库语句Slow Database Statement配置与原理详解下一篇CANN ops-math 数学算子 IsNan 详解源码实现、图模式调用与工程验证创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表