Files
claude-relay-service/.github/RELEASE_PROCESS.md
shaw 521ba99f48 refactor: 重构GitHub Actions发布流程和修复管理界面问题
- 删除旧的auto-release.yml工作流,避免循环触发问题
- 新增auto-version-bump.yml:自动同步VERSION文件与release版本
- 新增release-on-version.yml:基于VERSION文件变更自动创建release
- 更新docker-publish.yml:简化触发条件,仅在tag推送时构建
- 添加RELEASE_PROCESS.md文档:详细说明新的发布流程
- 修复web管理界面:解决OAuth账户token刷新和代理配置相关问题

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-24 11:30:54 +08:00

94 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 发布流程说明
## 概述
本项目采用全自动化的版本管理和发布流程。VERSION文件由GitHub Actions自动维护无需手动修改。
## 自动发布流程
### 1. 工作原理
1. **代码推送**: 当你推送代码到main分支时
2. **自动版本更新**: `auto-version-bump.yml`会:
- 检测是否有实质性代码变更(排除.md文件、docs/目录等)
- 如果有代码变更,自动将版本号+1并更新VERSION文件
- 提交VERSION文件更新到main分支
3. **自动发布**: `release-on-version.yml`会:
- 检测到只有VERSION文件变更的提交
- 自动创建Git tag
- 创建GitHub Release
- 构建并推送Docker镜像
- 发送Telegram通知如果配置
### 2. 工作流文件说明
- **auto-version-bump.yml**: 自动检测代码变更并更新VERSION文件
- **release-on-version.yml**: 检测VERSION文件单独提交并触发发布
- **docker-publish.yml**: 在tag创建时构建Docker镜像备用
- **release.yml**: 在tag创建时生成Release备用
### 3. 版本号规范
- 使用语义化版本号:`MAJOR.MINOR.PATCH`
- 默认自动递增PATCH版本例如1.1.10 → 1.1.11
- VERSION文件只包含版本号不包含`v`前缀
- Git tag会自动添加`v`前缀
### 4. 触发条件
**会触发版本更新的文件变更**:
- 源代码文件(.js, .ts, .jsx, .tsx等
- 配置文件package.json, Dockerfile等
- 其他功能性文件
**不会触发版本更新的文件变更**:
- Markdown文件*.md
- 文档目录docs/
- GitHub配置.github/
- VERSION文件本身
- .gitignore、LICENSE等
## 使用指南
### 正常开发流程
1. 进行代码开发和修改
2. 提交并推送到main分支
3. 系统自动完成版本更新和发布
```bash
# 正常的开发流程
git add .
git commit -m "feat: 添加新功能"
git push origin main
# GitHub Actions会自动
# 1. 检测到代码变更
# 2. 更新VERSION文件例如1.1.10 → 1.1.11
# 3. 创建新的release和Docker镜像
```
### 跳过版本更新
如果只是更新文档或其他非代码文件,系统会自动识别并跳过版本更新。
## 故障排除
### 版本没有自动更新
1. 检查是否有实质性代码变更
2. 查看GitHub Actions运行日志
3. 确认推送的是main分支
### 需要手动触发发布
如果需要手动控制版本:
1. 直接修改VERSION文件
2. 提交并推送
3. 系统会检测到VERSION变更并触发发布
## 注意事项
- **不要**在同一个提交中既修改代码又修改VERSION文件
- **不要**手动创建tag让系统自动管理
- 系统会自动避免死循环GitHub Actions的提交不会触发新的版本更新