update at 2025-10-15 15:29:25
This commit is contained in:
227
RELEASE_SCRIPT_SUMMARY.md
Normal file
227
RELEASE_SCRIPT_SUMMARY.md
Normal file
@@ -0,0 +1,227 @@
|
||||
# ✅ release.sh 升级完成
|
||||
|
||||
## 🎉 升级状态
|
||||
|
||||
- **脚本版本**: v1.0 → v2.0
|
||||
- **脚本位置**: `/Users/gavin/xhs/mcp-client-vue/release.sh`
|
||||
- **执行权限**: ✅ 已设置
|
||||
- **语法检查**: ✅ 通过
|
||||
|
||||
## 📦 新增功能
|
||||
|
||||
### 1. 智能字符集处理 ⭐
|
||||
- 自动检测 UTF-8 字符集错误
|
||||
- 自动降级为英文版本
|
||||
- 确保 Release 100% 创建成功
|
||||
|
||||
### 2. 详细错误提示
|
||||
- 显示完整错误信息
|
||||
- 提供手动创建步骤
|
||||
- 包含具体的 URL 链接
|
||||
|
||||
### 3. Release 验证
|
||||
- 创建后显示 Release URL
|
||||
- 确认创建状态
|
||||
- 提供相关链接(标签、提交)
|
||||
|
||||
### 4. 工具依赖检查
|
||||
- 检查 jq 命令是否安装
|
||||
- 提供安装指南
|
||||
- 避免运行时错误
|
||||
|
||||
### 5. 完善的文档
|
||||
- 脚本头部详细说明
|
||||
- 完整使用指南文档
|
||||
- 变更日志和示例
|
||||
|
||||
## 📝 创建的文档
|
||||
|
||||
1. **release.sh** - 升级后的发布脚本 (v2.0)
|
||||
2. **RELEASE_SCRIPT_GUIDE.md** - 完整使用指南
|
||||
3. **RELEASE_SCRIPT_CHANGES.md** - 变更说明
|
||||
4. **RELEASE_SCRIPT_SUMMARY.md** - 本总结文档
|
||||
|
||||
## 🚀 使用方法
|
||||
|
||||
### 快速开始
|
||||
|
||||
```bash
|
||||
# 1. 设置 Gitea Token
|
||||
export GITEA_TOKEN="73c2e2cd8ca86dbeaebdeaef77cbab3564d5122a"
|
||||
|
||||
# 2. 确保在 main 分支且工作区干净
|
||||
git status
|
||||
|
||||
# 3. 执行发布脚本
|
||||
./release.sh
|
||||
|
||||
# 4. 查看输出,确认发布成功
|
||||
```
|
||||
|
||||
### 预期输出
|
||||
|
||||
```
|
||||
✅ 分支: main
|
||||
✅ 工作区干净
|
||||
⬇️ 拉取远程代码...
|
||||
✅ 已同步最新代码
|
||||
📝 版本号: v1.0.3
|
||||
✅ 已创建 tag v1.0.3
|
||||
🚀 推送到远程...
|
||||
🔄 尝试创建 Release (使用中文内容)...
|
||||
⚠️ 检测到字符集问题,尝试使用英文版本...
|
||||
✅ Release 创建成功 (英文版): v1.0.3
|
||||
🔗 Release 地址: https://biboer.cn/gitea/gavin/map-client-vue/releases/tag/v1.0.3
|
||||
💡 提示: 可以在 Gitea Web 界面手动编辑添加中文说明
|
||||
|
||||
🎉 发布完成!
|
||||
📦 版本:v1.0.3
|
||||
|
||||
📊 发布总结:
|
||||
✅ Git 标签已推送
|
||||
✅ 代码已推送到远程
|
||||
✅ Gitea Release 已创建
|
||||
|
||||
🔗 访问地址:
|
||||
- Release: https://biboer.cn/gitea/gavin/map-client-vue/releases/tag/v1.0.3
|
||||
- 标签列表: https://biboer.cn/gitea/gavin/map-client-vue/tags
|
||||
- 提交历史: https://biboer.cn/gitea/gavin/map-client-vue/commits/branch/main
|
||||
|
||||
🚀 用户升级指南:
|
||||
git pull origin main
|
||||
cd web && npm install
|
||||
npm run dev
|
||||
```
|
||||
|
||||
## 🔄 与原版本对比
|
||||
|
||||
| 特性 | v1.0 | v2.0 |
|
||||
|------|------|------|
|
||||
| 字符集处理 | ❌ 失败就失败 | ✅ 自动降级 |
|
||||
| 错误提示 | ⚠️ 简单 | ✅ 详细 |
|
||||
| Release 验证 | ❌ 无 | ✅ 显示 URL |
|
||||
| 工具检查 | ❌ 无 | ✅ 检查 jq |
|
||||
| 文档说明 | ⚠️ 简单 | ✅ 完善 |
|
||||
| 手动指南 | ❌ 无 | ✅ 详细步骤 |
|
||||
|
||||
## 🎯 解决的核心问题
|
||||
|
||||
### 问题:字符集转换错误
|
||||
|
||||
**错误信息**:
|
||||
```
|
||||
Error 3988 (HY000): Conversion from collation utf8mb4_0900_ai_ci
|
||||
into utf8_general_ci impossible for parameter
|
||||
```
|
||||
|
||||
**原因**:
|
||||
- Gitea 服务器的 MySQL 数据库配置为 `utf8_general_ci`
|
||||
- 不支持完整的 UTF-8 字符(如 Emoji: 🎉、⏸️、✅ 等)
|
||||
- release.md 中的中文内容包含这些字符
|
||||
|
||||
**解决方案**:
|
||||
1. 首次尝试使用原始内容(中文 + Emoji)
|
||||
2. 检测到字符集错误后
|
||||
3. 自动使用简化的英文版本
|
||||
4. 在英文版本中添加指向 release.md 的链接
|
||||
5. 提示用户可以在 Web 界面手动编辑
|
||||
|
||||
## 🧪 测试验证
|
||||
|
||||
### ✅ 已通过的测试
|
||||
|
||||
1. **语法检查**
|
||||
```bash
|
||||
bash -n release.sh
|
||||
✅ 脚本语法正确
|
||||
```
|
||||
|
||||
2. **实际发布测试** (v1.0.3)
|
||||
```bash
|
||||
./release.sh
|
||||
✅ 成功创建 Release
|
||||
✅ 自动处理字符集问题
|
||||
✅ 显示正确的 URL
|
||||
```
|
||||
|
||||
3. **错误处理测试**
|
||||
- ✅ 检测到未安装 jq
|
||||
- ✅ 检测到分支不是 main
|
||||
- ✅ 检测到工作区不干净
|
||||
- ✅ 检测到字符集错误并降级
|
||||
|
||||
## 📚 相关资源
|
||||
|
||||
### 文档
|
||||
- [release.sh 使用指南](./RELEASE_SCRIPT_GUIDE.md)
|
||||
- [升级变更说明](./RELEASE_SCRIPT_CHANGES.md)
|
||||
- [v1.0.3 发布成功案例](./GITEA_RELEASE_SUCCESS.md)
|
||||
|
||||
### 示例输出
|
||||
- [正常发布](./RELEASE_SCRIPT_GUIDE.md#成功输出)
|
||||
- [字符集降级](./RELEASE_SCRIPT_GUIDE.md#成功输出)
|
||||
- [错误处理](./RELEASE_SCRIPT_GUIDE.md#错误处理)
|
||||
|
||||
### API 文档
|
||||
- [Gitea API - Releases](https://docs.gitea.io/en-us/api-usage/)
|
||||
- [Gitea API - Tags](https://docs.gitea.io/en-us/api-usage/)
|
||||
|
||||
## 🔜 后续建议
|
||||
|
||||
### 1. 更新 ~/pubsh/release.sh
|
||||
如果你想在其他项目也使用新版本:
|
||||
```bash
|
||||
cp /Users/gavin/xhs/mcp-client-vue/release.sh ~/pubsh/release.sh
|
||||
```
|
||||
|
||||
### 2. 服务器配置优化(可选)
|
||||
如果可以访问 Gitea 服务器,建议升级 MySQL 配置:
|
||||
```sql
|
||||
-- 查看当前字符集
|
||||
SHOW VARIABLES LIKE 'character_set%';
|
||||
|
||||
-- 升级到 utf8mb4
|
||||
ALTER DATABASE gitea CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
ALTER TABLE release CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
```
|
||||
|
||||
### 3. 环境变量持久化
|
||||
将 GITEA_TOKEN 添加到 shell 配置文件:
|
||||
```bash
|
||||
echo 'export GITEA_TOKEN="73c2e2cd8ca86dbeaebdeaef77cbab3564d5122a"' >> ~/.zshrc
|
||||
source ~/.zshrc
|
||||
```
|
||||
|
||||
### 4. 添加到 .gitignore
|
||||
如果 token 存储在文件中:
|
||||
```bash
|
||||
echo '.env' >> .gitignore
|
||||
echo '*.token' >> .gitignore
|
||||
```
|
||||
|
||||
## ✨ 成功标志
|
||||
|
||||
- [x] 脚本语法正确
|
||||
- [x] 执行权限已设置
|
||||
- [x] 字符集问题已解决
|
||||
- [x] 错误提示已改进
|
||||
- [x] 文档已完善
|
||||
- [x] 实际测试通过
|
||||
|
||||
## 🎉 总结
|
||||
|
||||
release.sh v2.0 已成功升级!主要改进包括:
|
||||
|
||||
1. **智能化** - 自动处理字符集问题
|
||||
2. **友好化** - 详细的错误提示和指南
|
||||
3. **可靠性** - 确保 Release 一定能创建
|
||||
4. **完善性** - 完整的文档和示例
|
||||
|
||||
现在可以用于日常发布流程,无需担心字符集兼容性问题!
|
||||
|
||||
---
|
||||
|
||||
**升级时间**: 2025-10-15
|
||||
**脚本版本**: v2.0
|
||||
**测试状态**: ✅ 已验证
|
||||
**文档状态**: ✅ 已完善
|
||||
Reference in New Issue
Block a user