AgentHarness 课程
CodeBuddy 专题/16

部署与上线

CloudBase/EdgeOne集成、一键部署、生产环境

引言

代码写完了,怎么让用户用上?

传统部署流程:构建 → 上传 → 配置 → 重启 → 验证。每一步都可能出错,每一步都需要手动操作。

CodeBuddy 把这个流程简化为一个命令:/deploy


一、三种部署平台对比

1.1 平台概览

平台适用场景特点费用
CloudBase全栈应用云开发一体化,含数据库按量计费
EdgeOne Pages静态/前端CDN 加速,全球节点免费额度
CloudBaseServerless云开发,无需服务器按量计费
Tencent Lighthouse服务端应用完整运行环境,适合生产按配置计费
CloudStudio预览/测试沙盒环境,分享链接免费

1.2 选择建议

个人博客/静态站 → EdgeOne Pages(免费、快)
API 服务/后端 → Tencent Lighthouse(完整环境)
Serverless 应用 → CloudBase(无需管理服务器)
全栈应用(有后端)→ CloudBase(含数据库)
快速预览/Demo → CloudStudio(即时分享)
企业级生产环境 → 自建服务器 + Docker

二、部署流程详解

2.1 自动部署

# 在 CodeBuddy IDE 中
/deploy

# 或自然语言
帮我把项目部署到 EdgeOne

AI 自动执行:

✅ Step 1/5: 代码检查
   - 运行 lint 检查
   - 确认无严重错误

✅ Step 2/5: 构建
   - npm run build
   - 构建产物:234KB (gzip: 78KB)

✅ Step 3/5: 上传
   - 上传到 EdgeOne Pages
   - 12 个文件,耗时 3.2s

✅ Step 4/5: 配置
   - 设置自定义域名
   - 配置 HTTPS 证书

✅ Step 5/5: 验证
   - HTTP 200 ✅
   - 首屏加载 1.2s ✅

🎉 部署成功!
访问地址:https://my-app.edgeone.app

2.2 手动部署(自建服务器)

# 构建
npm run build

# 上传到服务器
rsync -avz ./dist/ ubuntu@server:/opt/my-app/

# SSH 重启服务
ssh ubuntu@server "cd /opt/my-app && pm2 restart my-app"

# 验证
curl -sk https://my-domain.com/health

三、环境变量管理

3.1 设置环境变量

# 在 CodeBuddy IDE 中
/deploy env set DATABASE_URL="postgresql://..."
/deploy env set JWT_SECRET="your-secret-key"
/deploy env set NODE_ENV="production"

3.2 环境变量分类

类型示例安全级别
公开变量NEXT_PUBLIC_API_URL低(前端可见)
服务端变量DATABASE_URL高(仅服务端)
密钥JWT_SECRET极高(加密存储)

3.3 安全注意事项

❌ 在代码中硬编码密钥
❌ 将 .env 文件提交到 Git
❌ 在前端代码中使用服务端密钥

✅ 使用环境变量管理密钥
✅ .env 加入 .gitignore
✅ 使用 .env.example 记录变量名(不含值)

四、部署验证

4.1 健康检查

# 基础检查
curl -sk https://my-app.com/ | head -5

# API 检查
curl -sk https://my-app.com/api/health
# 期望:{"status":"ok","version":"1.0.0"}

# 性能检查
curl -sk -o /dev/null -w "TTFB: %{time_starttransfer}s\nTotal: %{time_total}s\n" https://my-app.com/

4.2 功能验证清单

- [ ] 首页加载正常
- [ ] 核心功能可用
- [ ] API 接口响应正确
- [ ] 静态资源加载正常(CSS/JS/图片)
- [ ] HTTPS 证书有效
- [ ] 移动端适配正常

五、回滚方案

5.1 快速回滚

# 回滚到上一版本
/deploy rollback

# 或手动
ssh ubuntu@server "cd /opt/my-app && git checkout HEAD~1 && npm run build && pm2 restart my-app"

5.2 回滚决策树

部署后发现问题
├── 严重(服务不可用)→ 立即回滚
├── 中等(功能异常)→ 评估影响后决定
└── 轻微(UI 问题)→ 下次修复

六、常见陷阱

陷阱 1:本地测试通过但部署失败

原因:本地环境和生产环境不同
解决:使用相同版本的 Node.js 和依赖

陷阱 2:环境变量遗漏

原因:本地 .env 有变量,生产环境没有
解决:部署前检查环境变量清单

陷阱 3:静态资源 404

原因:构建路径配置错误
解决:检查 vite.config.ts 的 base 配置

七、总结

问题答案
最简部署方式?/deploy 一键部署
静态站用什么?EdgeOne Pages
全栈应用用什么?CloudBase
如何回滚?/deploy rollback
最重要的检查?环境变量 + 健康检查