feat: 添加 Docker Hub 自动构建和改进部署体验

- 支持环境变量预设管理员账号密码
- 添加 docker-entrypoint.sh 自动初始化脚本
- 配置 GitHub Actions 自动构建多平台镜像(amd64, arm64)
- 添加版本标签管理和自动发布流程
- 集成 Trivy 安全漏洞扫描
- 更新文档说明 Docker Hub 使用方法
- 优化 Docker 部署用户体验

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
shaw
2025-07-19 00:49:04 +08:00
parent f5968e518e
commit 5c83cf1d53
12 changed files with 691 additions and 6 deletions

114
.github/WORKFLOW_USAGE.md vendored Normal file
View File

@@ -0,0 +1,114 @@
# GitHub Actions 工作流使用指南
## 📋 概述
本项目配置了自动化 CI/CD 流程,每次推送到 main 分支都会自动构建并发布 Docker 镜像到 Docker Hub。
## 🚀 工作流程
### 1. Docker 构建和发布 (`docker-publish.yml`)
**功能:**
- 自动构建多平台 Docker 镜像amd64, arm64
- 推送到 Docker Hub
- 执行安全漏洞扫描
- 更新 Docker Hub 描述
**触发条件:**
- 推送到 `main` 分支
- 创建版本标签(如 `v1.0.0`
- Pull Request仅构建不推送
- 手动触发
### 2. 发布管理 (`release.yml`)
**功能:**
- 自动创建 GitHub Release
- 生成更新日志
- 关联 Docker 镜像版本
**触发条件:**
- 创建版本标签(如 `v1.0.0`
## 📝 版本发布流程
### 1. 常规更新(推送到 main
```bash
git add .
git commit -m "fix: 修复登录问题"
git push origin main
```
**结果:**
- 自动构建并推送 `latest` 标签到 Docker Hub
- 更新 `main` 标签
### 2. 版本发布
```bash
# 创建版本标签
git tag -a v1.0.0 -m "Release version 1.0.0"
git push origin v1.0.0
```
**结果:**
- 构建并推送以下标签到 Docker Hub
- `v1.0.0`(完整版本)
- `1.0`(主次版本)
- `1`(主版本)
- `latest`(最新版本)
- 创建 GitHub Release
- 生成更新日志
## 🔧 手动触发构建
1. 访问仓库的 Actions 页面
2. 选择 "Docker Build & Push" 工作流
3. 点击 "Run workflow"
4. 选择分支并运行
## 📊 查看构建状态
- **Actions 页面**:查看所有工作流运行历史
- **README 徽章**:实时显示构建状态
- **Docker Hub**:查看镜像标签和拉取次数
## 🛡️ 安全扫描
每次构建都会运行 Trivy 安全扫描:
- 扫描结果上传到 GitHub Security 标签页
- 发现高危漏洞会在 Actions 日志中警告
## ❓ 常见问题
### Q: 如何回滚到之前的版本?
```bash
# 使用特定版本标签
docker pull weishaw/claude-relay-service:v1.0.0
# 或在 docker-compose.yml 中指定版本
image: weishaw/claude-relay-service:v1.0.0
```
### Q: 如何跳过自动构建?
在 commit 消息中添加 `[skip ci]`
```bash
git commit -m "docs: 更新文档 [skip ci]"
```
### Q: 构建失败如何调试?
1. 查看 Actions 日志详细错误信息
2. 在本地测试 Docker 构建:
```bash
docker build -t test .
```
## 📚 相关文档
- [Docker Hub 配置指南](.github/DOCKER_HUB_SETUP.md)
- [GitHub Actions 文档](https://docs.github.com/en/actions)
- [Docker 官方文档](https://docs.docker.com/)