feat: 添加二次开发部署配置和文档
Some checks failed
CI / test (push) Has been cancelled
CI / golangci-lint (push) Has been cancelled

- 添加双 Git remote 配置指南 (GIT_GUIDE.md, GIT_WORKFLOW.md)
- 添加 1Panel 环境部署配置 (docker-compose.1panel.yml, .env.1panel)
- 添加自动化部署脚本 (deploy-complete.sh, deploy-dev.sh, deploy.sh)
- 添加部署说明文档 (README_DEPLOY.md)
- 配置端口 2080 映射
- 支持连接现有 1Panel Redis (1Panel-redis-S1KH)
This commit is contained in:
huangzhenpc
2026-01-04 10:25:36 +08:00
parent 631ba25e04
commit e4db851b31
8 changed files with 1439 additions and 0 deletions

276
GIT_WORKFLOW.md Normal file
View File

@@ -0,0 +1,276 @@
# Sub2API 二次开发指南
## 🔧 Git 工作流程
### 初始设置
```bash
# 1. 克隆官方仓库
git clone https://github.com/Wei-Shaw/sub2api.git sub2api-dev
cd sub2api-dev
# 2. 配置远程仓库
git remote rename origin upstream # 官方仓库改名为 upstream
git remote add origin https://your-git.com/your-repo.git # 添加你的仓库
# 3. 创建开发分支
git checkout -b dev
# 4. 推送到你的仓库
git push -u origin dev
```
### 远程仓库配置结果
```bash
git remote -v
# upstream https://github.com/Wei-Shaw/sub2api.git (fetch)
# upstream https://github.com/Wei-Shaw/sub2api.git (push)
# origin https://your-git.com/your-repo.git (fetch)
# origin https://your-git.com/your-repo.git (push)
```
---
## 🔄 同步官方更新
### 方式 1查看官方更新
```bash
# 拉取官方最新代码
git fetch upstream
# 查看官方更新内容
git log HEAD..upstream/main --oneline
# 查看详细差异
git diff HEAD..upstream/main
# 查看某个文件的差异
git diff HEAD..upstream/main -- backend/internal/service/gateway_service.go
```
### 方式 2合并官方更新
```bash
# 确保工作区干净
git status
# 提交你的修改
git add .
git commit -m "feat: 我的二开功能"
# 拉取并合并官方更新
git fetch upstream
git merge upstream/main
# 如果有冲突,解决后:
git add .
git commit -m "merge: 合并官方更新"
# 推送到你的仓库
git push origin dev
```
### 方式 3使用 Rebase更清晰的历史
```bash
# 拉取官方更新
git fetch upstream
# 将你的提交重放到官方最新代码之上
git rebase upstream/main
# 如果有冲突,解决后:
git add .
git rebase --continue
# 强制推送到你的仓库注意rebase 会改变历史)
git push -f origin dev
```
---
## 📦 部署流程
### 生产环境部署
```bash
cd /opt/sub2api-dev/deploy
# 运行自动部署脚本
chmod +x deploy-dev.sh
bash deploy-dev.sh
```
### 手动部署
```bash
# 1. 进入部署目录
cd /opt/sub2api-dev/deploy
# 2. 创建配置(如果没有)
cp docker-compose.yml docker-compose.prod.yml
cp .env.example .env
# 3. 修改配置
nano docker-compose.prod.yml # 改端口为 2080配置 Redis
nano .env # 设置密码等
# 4. 启动服务
docker-compose -f docker-compose.prod.yml pull
docker-compose -f docker-compose.prod.yml up -d
# 5. 查看日志
docker-compose -f docker-compose.prod.yml logs -f
```
---
## 🛠️ 开发建议
### 目录结构
```
sub2api-dev/
├── .git/ # Git 仓库
├── backend/ # 后端代码Go
│ ├── cmd/server/ # 入口
│ ├── internal/ # 核心逻辑
│ └── ent/ # 数据模型
├── frontend/ # 前端代码Vue
│ └── src/
└── deploy/ # 部署配置
├── docker-compose.prod.yml
├── .env
└── deploy-dev.sh
```
### 常见二开场景
#### 1. 修改后端逻辑
```bash
# 修改代码
vim backend/internal/service/gateway_service.go
# 提交
git add backend/
git commit -m "feat: 修改网关逻辑"
# 重新构建镜像(如果需要)
cd backend
docker build -t sub2api:custom .
# 修改 docker-compose.prod.yml 使用自定义镜像
# image: sub2api:custom
# 重启服务
cd ../deploy
docker-compose -f docker-compose.prod.yml up -d
```
#### 2. 修改前端界面
```bash
# 修改代码
vim frontend/src/views/HomeView.vue
# 本地测试
cd frontend
npm install
npm run dev
# 构建
npm run build
# 提交
git add frontend/
git commit -m "feat: 修改首页界面"
# 后端重新构建(前端会被嵌入)
cd ../backend
go build -tags embed -o sub2api ./cmd/server
```
#### 3. 添加新功能
```bash
# 创建功能分支
git checkout -b feature/new-feature
# 开发...
# 提交
git add .
git commit -m "feat: 添加新功能"
# 合并到开发分支
git checkout dev
git merge feature/new-feature
# 推送
git push origin dev
```
---
## 🔍 对比工具
### 使用 VS Code 对比
```bash
# 安装 VS Code Remote SSH 插件
# 然后在 VS Code 中:
# 1. 连接到服务器
# 2. 打开 /opt/sub2api-dev
# 3. 使用 Git 功能对比差异
```
### 命令行对比
```bash
# 对比某个文件
git diff upstream/main -- backend/internal/service/gateway_service.go
# 对比某个目录
git diff upstream/main -- backend/internal/service/
# 生成对比报告
git diff upstream/main > changes.patch
# 查看修改的文件列表
git diff --name-only upstream/main
```
---
## ⚠️ 注意事项
1. **定期同步**: 建议每周拉取一次官方更新
2. **冲突处理**: 遇到冲突时,优先保留官方的核心逻辑,调整你的二开代码
3. **分支管理**: 重要功能单独开分支,测试通过后再合并
4. **备份数据**: 更新前备份数据库和配置文件
5. **测试环境**: 建议先在测试环境验证更新,再应用到生产
---
## 📋 常用命令速查
```bash
# Git 管理
git status # 查看状态
git log --oneline -10 # 查看提交历史
git fetch upstream # 拉取官方更新
git diff upstream/main # 对比差异
git merge upstream/main # 合并更新
# Docker 管理
docker-compose -f docker-compose.prod.yml ps # 查看状态
docker-compose -f docker-compose.prod.yml logs -f # 查看日志
docker-compose -f docker-compose.prod.yml restart # 重启
docker-compose -f docker-compose.prod.yml down # 停止
# 服务管理
docker-compose -f docker-compose.prod.yml pull # 更新镜像
docker-compose -f docker-compose.prod.yml up -d # 启动
```