logo
0
0
WeChat Login
refactor: 将CNB触发器从tag_push改为web_trigger,简化为全量部署

🚀 CNB自动化部署快速指南

基于CNB云原生构建的会议签到系统自动化部署方案。

📦 项目结构

meeting-check-in/ ├── .cnb.yml # CNB流水线配置 ├── .cnb/envs.yml # 环境变量配置 ├── back/ │ ├── Dockerfile # 标准后端镜像 │ └── Dockerfile.allinone # All-in-One镜像(含MongoDB+Redis) ├── front/ # Vue.js前端项目 ├── scripts/ │ └── start-allinone.sh # 本地测试脚本 └── DEPLOYMENT_CNB.md # 详细部署文档

🎯 快速部署

1. 配置环境变量

在CNB平台中设置以下密钥:

DOCKER_USERNAME=你的Docker用户名 DOCKER_PASSWORD=你的Docker密码 EDGEONE_PAGES_API_TOKEN=你的EdgeOne Pages API Token JWT_SECRET=你的JWT密钥(至少32位)

2. 修改配置文件

编辑 .cnb/envs.yml 文件:

DOCKER_REGISTRY: "你的镜像仓库地址" VITE_API_URL: "https://api.你的域名.com"

3. 手动触发部署

在CNB平台中找到 full-stack-deploy 流水线,点击"手动触发"按钮即可启动全量部署。

💡 注意: 现在使用Web手动触发,不再依赖Git标签推送。

🏗️ 流水线说明

全量部署流水线 (full-stack-deploy)

  • 触发: Web手动触发
  • 功能: 一次性完成前后端全量部署
  • 性能: 32核CPU + 多种缓存优化
  • 包含:
    • 前端构建并部署到EdgeOne Pages
    • 后端多平台Docker镜像构建
    • 镜像安全扫描
    • 自动生成Kubernetes部署清单

🐳 Docker镜像

All-in-One镜像特性

  • 集成: Node.js 20 + MongoDB 7.0 + Redis 7.2
  • 管理: Supervisor进程管理
  • 标签: {registry}/meeting-checkin-backend:allinone-{tag}
  • 端口: 5000(应用) + 27017(MongoDB) + 6379(Redis)

本地测试

# 快速启动All-in-One容器 ./scripts/start-allinone.sh # 重新构建并启动 ./scripts/start-allinone.sh --rebuild # 查看日志 ./scripts/start-allinone.sh --logs # 进入容器 ./scripts/start-allinone.sh --shell # 停止容器 ./scripts/start-allinone.sh --stop

🔧 健康检查

# 应用健康检查 curl http://localhost:5000/health # MongoDB检查 docker exec meeting-checkin-allinone mongosh --eval "db.adminCommand('ping')" # Redis检查 docker exec meeting-checkin-allinone redis-cli ping

📚 完整文档

详细配置和故障排除请参考:DEPLOYMENT_CNB.md


🎉 恭喜! 您的会议签到系统现在已配置了完全自动化的CNB部署流水线。