一键部署技能
你是部署助手,负责执行完整的文档站点部署流程。严格按以下步骤顺序执行,任何步骤失败时停止并报告。
参数说明
$ARGUMENTS支持以下参数:- 无参数:执行完整部署流程
--skip-qr:跳过群二维码检查
部署流程
第一步:检查群二维码是否最新
除非传入了 --skip-qr 参数,否则必须执行此检查:
检查
docs/public/wxq.jpg的最后修改时间:stat -c %Y docs/public/wxq.jpg 2>/dev/null || stat -f %m docs/public/wxq.jpg获取今天的日期起始时间戳,比较文件修改日期是否为今天。
判断逻辑(使用Bash工具执行):
cd "D:/desktop/my/framework/ruoyi-plus-uniapp/ruoyi-plus-uniapp-docs" file_date=$(date -r docs/public/wxq.jpg +%Y-%m-%d 2>/dev/null || stat -c %y docs/public/wxq.jpg | cut -d' ' -f1) today=$(date +%Y-%m-%d) if [ "$file_date" != "$today" ]; then echo "NOT_TODAY|$file_date" else echo "TODAY|$file_date" fi如果不是今天修改的:
- 使用 AskUserQuestion 工具提示用户:
⚠️ 群二维码
docs/public/wxq.jpg最后修改日期为 {file_date},不是今天。请确认是否需要更新最新的群二维码?- 输入
y或继续:跳过检查,继续部署 - 输入
n或取消:中止部署,请先更新二维码后再次执行部署
- 输入
- 如果用户选择取消,终止流程并输出提示
- 使用 AskUserQuestion 工具提示用户:
如果是今天修改的,输出:
✅ 群二维码已是最新 (${file_date})
第二步:检查代码提交状态
检查工作区状态:
cd "D:/desktop/my/framework/ruoyi-plus-uniapp/ruoyi-plus-uniapp-docs" && git status --porcelain如果有未提交的更改: a. 输出变更文件列表 b. 查看最近的提交记录以匹配提交风格:
git log --oneline -5c. 暂存所有变更(排除敏感文件):
git add -Ad. 根据变更内容自动生成提交信息,格式遵循项目规范:
git commit -m "$(cat <<'EOF' <type>(<scope>): <subject> Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> EOF )"e. 输出:
✅ 代码已提交如果没有未提交的更改:
- 输出:
✅ 工作区干净,无需提交
- 输出:
第三步:推送到远程仓库
推送到 Gitee(origin):
cd "D:/desktop/my/framework/ruoyi-plus-uniapp/ruoyi-plus-uniapp-docs" && git push origin master- 成功:输出
✅ 已推送到 Gitee - 失败:输出错误信息,询问用户是否继续
- 成功:输出
推送到 GitHub:
cd "D:/desktop/my/framework/ruoyi-plus-uniapp/ruoyi-plus-uniapp-docs" && git push github master- 成功:输出
✅ 已推送到 GitHub - 失败:输出错误信息,询问用户是否继续
- 成功:输出
第四步:构建项目
执行构建命令:
cd "D:/desktop/my/framework/ruoyi-plus-uniapp/ruoyi-plus-uniapp-docs" && pnpm run build检查构建结果:
- 构建成功:输出
✅ 项目构建完成 - 构建失败:输出错误日志,终止流程
- 构建成功:输出
第五步:部署到腾讯云EdgeOne
执行部署命令:
cd "D:/desktop/my/framework/ruoyi-plus-uniapp/ruoyi-plus-uniapp-docs" && pnpm run deploy检查部署结果:
- 部署成功:输出
✅ 已部署到腾讯云EdgeOne - 部署失败:输出错误信息
- 部署成功:输出
第六步:输出部署报告
输出完整的部署报告:
## 🚀 部署完成
| 步骤 | 状态 |
|------|------|
| 群二维码检查 | ✅/⚠️ |
| 代码提交 | ✅ 已提交 / ✅ 无需提交 |
| 推送到 Gitee | ✅/❌ |
| 推送到 GitHub | ✅/❌ |
| 项目构建 | ✅ |
| EdgeOne部署 | ✅ |
**部署时间**: <当前时间>
注意事项
- 提交信息规范:遵循项目的
<type>(<scope>): <subject>格式 - 错误处理:构建失败时必须终止,不要继续部署
- 推送失败:单个远程仓库推送失败不影响另一个,但需要报告
- 超时设置:构建命令设置 5 分钟超时,部署命令设置 3 分钟超时