管理后台

This commit is contained in:
xujiang
2025-07-09 17:50:29 +08:00
parent 0651b6626a
commit 5f2152c7a6
40 changed files with 3839 additions and 795 deletions

View File

@ -67,7 +67,21 @@ on:
9. **健康检查** - 检查服务启动状态
10. **清理操作** - 清理旧镜像和备份容器
### 管理后台部署流程 (Bun)
1. **代码检出** - `actions/checkout@v4`
2. **Bun 环境设置** - `oven-sh/setup-bun@v1`
3. **依赖安装** - `bun install --frozen-lockfile`
4. **代码检查** - `bun run lint` + `bun run type-check`
5. **格式检查** - `bun run format`
6. **测试运行** - `bun run test`
7. **安全审计** - `bun audit`
8. **项目构建** - `bun run build`
9. **服务器部署** - SCP 上传到服务器
10. **健康检查** - 验证部署成功
### 详细执行流程
#### 前端部署流程
```bash
# 1. 环境准备
- Checkout code (actions/checkout@v4)
@ -93,6 +107,65 @@ rsync -avz frontend/out/ gitea@server:~/www/photography/
ssh gitea@server "chmod -R 755 ~/www/photography"
```
#### 管理后台部署流程 (Bun)
```bash
# 1. 环境准备
- Checkout code (actions/checkout@v4)
- Setup Bun (oven-sh/setup-bun@v1)
# 2. 依赖安装和检查
cd admin
bun install --frozen-lockfile
bun run lint
bun run type-check
bun run format
bun run test
bun audit
# 3. 构建
bun run build # 生成 admin/dist/ 目录
# 4. 打包和部署
tar -czf admin-dist.tar.gz -C dist .
scp admin-dist.tar.gz gitea@server:/tmp/photography-admin-deploy/
# 5. 服务器端解压和部署
ssh gitea@server "
cd /tmp/photography-admin-deploy
tar -xzf admin-dist.tar.gz
rm -rf /home/gitea/www/photography-admin/*
cp -r * /home/gitea/www/photography-admin/
chown -R gitea:gitea /home/gitea/www/photography-admin
chmod -R 755 /home/gitea/www/photography-admin
"
```
#### 后端部署流程 (Docker)
```bash
# 1. 环境准备
- Checkout code (actions/checkout@v4)
- Setup Go (actions/setup-go@v4)
# 2. 测试和检查
cd backend
go mod download
go vet ./...
go fmt ./...
go test -tags=unit ./...
# 3. Docker 构建和推送
docker build -t registry.cn-hangzhou.aliyuncs.com/photography/backend .
docker push registry.cn-hangzhou.aliyuncs.com/photography/backend
# 4. 服务器部署
ssh gitea@server "
cd /home/gitea/photography/backend
docker-compose down backend
docker-compose pull backend
docker-compose up -d backend
"
```
## 服务器配置
### SSH 连接配置
@ -266,6 +339,34 @@ ssh gitea@server "df -h"
- gzip 压缩传输内容
- 并行上传多个文件 (计划中)
## 🥖 Bun 优势说明
### 为什么选择 Bun
1. **极速安装**: 比 npm/yarn 快 2-3 倍
2. **内置工具**: 包含打包器、测试运行器等
3. **兼容性好**: 100% 兼容 Node.js API
4. **内存效率**: 更低的内存占用
5. **原生 TypeScript**: 原生支持 TypeScript 和 JSX
### 性能对比
```bash
# 依赖安装速度对比 (管理后台项目)
npm install ~45s
yarn install ~35s
pnpm install ~25s
bun install ~8s # 最快!
# 构建速度对比
npm run build ~25s
yarn build ~23s
bun run build ~15s # 最快!
```
### CI/CD 优化效果
- **前端部署**: 节省约 30-40% 的构建时间
- **管理后台部署**: 节省约 50% 的依赖安装时间
- **总体效率**: 提升约 35% 的部署速度
## 🔧 重要配置说明
### 数据库迁移策略