🚀 手动触发 CI/CD Pipeline 工作流
📋 前提条件
✅ 已配置的Secrets
根据您的GitHub Secrets页面,已配置:
- ✅
CLOUDFLARE_TUNNEL_TOKEN_DEV - ✅
CLOUDFLARE_ZONE_ID - ✅
DEV_HOST - ✅
DEV_PATH - ✅
DEV_SSH_KEY - ✅
DEV_USER
⚠️ 可能缺少的Secret
- ⚠️
CLOUDFLARE_API_TOKEN- 如果缺少,某些步骤可能失败
🎯 手动触发步骤
方法1: 通过GitHub Actions页面(推荐)
访问GitHub Actions页面
https://github.com/zenglx1978/mbe-monorepo/actions(已在浏览器中打开)
找到工作流
- 在左侧工作流列表中找到 "Complete CI/CD Pipeline"
- 或在工作流运行历史中找到
手动触发
- 点击 "Complete CI/CD Pipeline" 工作流
- 点击右侧的 "Run workflow" 按钮
- 选择参数:
- Environment:
dev(开发环境) - Region:
cn(国内)或both(国内+国外) - Language:
all(所有语言) - Deploy Type:
cloudflare(Cloudflare部署) - Skip tests:
false(不跳过测试)
- Environment:
- 点击 "Run workflow" 按钮
查看运行状态
- 工作流开始运行后,点击运行记录查看详情
- 查看每个步骤的日志
方法2: 通过GitHub CLI(如果已安装)
# 安装GitHub CLI(如果未安装)
winget install GitHub.cli
# 登录
gh auth login
# 触发工作流
gh workflow run "Complete CI/CD Pipeline.yml" \
--field environment=dev \
--field region=cn \
--field language=all \
--field deploy_type=cloudflare
📊 工作流执行流程
Stage 1: 代码质量检查
- ✅ Validate(验证Monorepo结构)
- ✅ Lint(代码检查)
Stage 2: 测试
- ✅ Unit Tests(单元测试)
- ✅ Integration Tests(集成测试)
- ✅ E2E Tests(E2E测试)
Stage 3: 构建
- ✅ Build Docker Images(构建Docker镜像)
- ✅ Build i18n Assets(构建多语言资源)
Stage 4: 部署
- ✅ Deploy to Dev Environment(部署到开发环境)
🔍 监控工作流执行
查看实时日志
访问工作流运行页面
- 点击运行记录
- 查看每个Job的日志
检查关键步骤
- ✅ 代码检查是否通过
- ✅ 测试是否通过
- ✅ Docker镜像构建是否成功
- ✅ 部署是否成功
常见问题排查
问题1: Secrets未找到
错误信息:
Error: Secret not found: CLOUDFLARE_API_TOKEN
解决方案:
- 检查GitHub Secrets页面,确认所有Secrets都已添加
- 如果缺少,按照之前的指南添加
问题2: SSH连接失败
错误信息:
Error: SSH connection failed
解决方案:
- 检查
DEV_SSH_KEY是否正确 - 检查
DEV_HOST和DEV_USER是否正确 - 确认公钥已添加到服务器
问题3: Cloudflare API调用失败
错误信息:
Error: Cloudflare API error
解决方案:
- 检查
CLOUDFLARE_API_TOKEN是否正确 - 检查
CLOUDFLARE_ZONE_ID是否正确 - 确认Token权限足够
✅ 成功标志
工作流成功完成的标志:
所有Job显示绿色✅
- Validate ✅
- Lint ✅
- Test ✅
- Build ✅
- Deploy ✅
部署成功
- 开发环境服务正常运行
- 可以访问:https://dev.hi-maker.com/api/health
日志显示成功信息
- "Deployment successful"
- "Service is healthy"
📝 工作流参数说明
Environment(环境)
dev- 开发环境staging- 测试环境production- 生产环境
Region(区域)
cn- 国内global- 国外both- 国内+国外
Language(语言)
all- 所有语言zh-CN- 简体中文en- 英语ja- 日语- 等等...
Deploy Type(部署类型)
cloudflare- 仅Cloudflare Tunnelcloud- 仅云部署both- Cloudflare + 云部署
🆘 如果工作流失败
查看错误日志
- 点击失败的Job
- 查看详细的错误信息
检查Secrets
- 确认所有必需的Secrets都已配置
- 确认Secrets值正确
检查服务器连接
- 确认服务器可访问
- 确认SSH密钥正确
重新运行
- 修复问题后,点击 "Re-run jobs" 重新运行
📚 相关文档
现在可以手动触发工作流了!访问GitHub Actions页面,点击 "Run workflow" 按钮。