重构项目心跳数据结构为Redis LIST,更新相关文档和OpenSpec规范。主要变更包括: - 将项目心跳从STRING改为LIST类型 - 更新后端服务以支持LIST操作 - 同步更新文档和OpenSpec规范 - 统一后端端口为3001 - 添加部署指南和Windows部署文档 修复前端API请求路径,移除硬编码的localhost地址。添加PM2和Nginx配置文件模板,完善部署流程文档。更新Redis集成协议文档,明确LIST数据结构和外部项目对接规范。
211 lines
5.8 KiB
Markdown
211 lines
5.8 KiB
Markdown
# 如何向AI助手提出部署需求
|
||
|
||
## 一、部署需求的标准格式
|
||
|
||
当你需要AI助手帮你生成部署文件并说明部署流程时,请按照以下格式提供信息:
|
||
|
||
### 必需信息
|
||
|
||
1. **部署环境**
|
||
- 操作系统类型(如:Linux、Windows)
|
||
- 容器化环境(如:Docker、Kubernetes)
|
||
- 服务器类型(如:NAS、云服务器、本地服务器)
|
||
|
||
2. **访问信息**
|
||
- 前端访问地址(域名或IP + 端口)
|
||
- 后端API地址(如果与前端不同)
|
||
|
||
3. **文件路径**
|
||
- 项目文件在服务器上的存储路径
|
||
- 配置文件在服务器上的存储路径
|
||
- 日志文件存储路径(如果需要)
|
||
|
||
4. **现有配置参考**
|
||
- 如果服务器上已有类似项目的配置,请提供配置文件内容
|
||
- 这样可以让AI助手了解你的配置风格和规范
|
||
|
||
5. **项目类型**
|
||
- 前端框架(如:Vue、React、Angular)
|
||
- 后端框架(如:Express、Koa、NestJS)
|
||
- 构建工具(如:Vite、Webpack)
|
||
|
||
6. **进程管理方式**
|
||
- 是否使用进程管理工具(如:PM2、systemd、supervisor)
|
||
- 如果使用,请说明具体工具
|
||
|
||
7. **特殊要求**
|
||
- 端口映射需求
|
||
- 反向代理需求
|
||
- WebSocket支持
|
||
- 文件上传大小限制
|
||
- 超时时间设置
|
||
- 其他特殊配置
|
||
|
||
### 可选信息
|
||
|
||
- 数据库连接信息
|
||
- Redis连接信息
|
||
- 第三方服务集成
|
||
- 环境变量配置
|
||
- SSL/HTTPS证书配置
|
||
|
||
## 二、示例模板
|
||
|
||
你可以直接复制以下模板,填写你的具体信息:
|
||
|
||
```
|
||
我需要在【部署环境】上部署一个【项目类型】项目。
|
||
|
||
【环境信息】
|
||
- 操作系统:【Linux/Windows/macOS】
|
||
- 容器化:【Docker/Kubernetes/无】
|
||
- 服务器类型:【NAS/云服务器/本地服务器】
|
||
|
||
【访问信息】
|
||
- 前端访问地址:【域名或IP:端口】
|
||
- 后端API地址:【域名或IP:端口】
|
||
|
||
【文件路径】
|
||
- 项目文件目录:【服务器上的绝对路径】
|
||
- 配置文件目录:【服务器上的绝对路径】
|
||
- Systemd服务目录:【/etc/systemd/system/】
|
||
|
||
【现有配置参考】
|
||
【如果有现有配置文件,请粘贴内容】
|
||
|
||
【项目类型】
|
||
- 前端框架:【Vue3/React/Angular】
|
||
- 后端框架:【Express/Koa/NestJS】
|
||
- 构建工具:【Vite/Webpack】
|
||
|
||
【进程管理】
|
||
- 使用【systemd/PM2/无】管理后端进程
|
||
|
||
【特殊要求】
|
||
- 【列出你的特殊需求】
|
||
|
||
请帮我生成部署文件并说明完整的部署流程。
|
||
```
|
||
|
||
## 三、实际案例
|
||
|
||
以下是一个完整的实际案例:
|
||
|
||
```
|
||
我在飞牛OS的NAS系统上的Docker里部署了一个Nginx,现在需要发布项目。
|
||
|
||
【环境信息】
|
||
- 操作系统:Linux(飞牛OS)
|
||
- 容器化:Docker
|
||
- 服务器类型:NAS
|
||
|
||
【访问信息】
|
||
- 前端访问地址:blv-rd.tech:20001
|
||
- 后端API地址:http://127.0.0.1:3001
|
||
|
||
【文件路径】
|
||
- 项目文件目录:/vol1/1000/Docker/nginx/project/bls/bls_project_console
|
||
- 配置文件目录:/vol1/1000/Docker/nginx/conf.d
|
||
- Systemd服务目录:/etc/systemd/system/
|
||
|
||
【现有配置参考】
|
||
现在配置文件路径下有一个文件:weknora.conf,内容是:
|
||
server {
|
||
listen 80;
|
||
server_name bais.blv-oa.tech;
|
||
client_max_body_size 100M;
|
||
|
||
location / {
|
||
proxy_pass http://host.docker.internal:19998;
|
||
proxy_set_header Host $host;
|
||
proxy_set_header X-Real-IP $remote_addr;
|
||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||
proxy_set_header X-Forwarded-Proto $scheme;
|
||
proxy_connect_timeout 60s;
|
||
proxy_send_timeout 60s;
|
||
proxy_read_timeout 300s;
|
||
}
|
||
|
||
location /api/ {
|
||
proxy_pass http://host.docker.internal:19996;
|
||
proxy_set_header Host $host;
|
||
proxy_set_header X-Real-IP $remote_addr;
|
||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||
proxy_set_header X-Forwarded-Proto $scheme;
|
||
proxy_connect_timeout 60s;
|
||
proxy_send_timeout 60s;
|
||
proxy_read_timeout 300s;
|
||
}
|
||
}
|
||
|
||
【项目类型】
|
||
- 前端框架:Vue3
|
||
- 后端框架:Express
|
||
- 构建工具:Vite
|
||
|
||
【进程管理】
|
||
- 使用systemd管理后端进程
|
||
|
||
【特殊要求】
|
||
- 需要支持文件上传,限制100M
|
||
- 需要反向代理API请求到后端
|
||
- 需要支持Vue Router的history模式
|
||
- 编译工作在本地完成,只需要复制文件到服务器
|
||
- 后端需要通过systemd服务管理,支持开机自启
|
||
|
||
请帮我生成部署文件并说明完整的部署流程。
|
||
```
|
||
|
||
## 四、AI助手会做什么
|
||
|
||
根据你提供的信息,AI助手会:
|
||
|
||
1. **分析项目结构**
|
||
- 识别前端和后端文件
|
||
- 确定构建配置
|
||
|
||
2. **生成配置文件**
|
||
- Nginx配置文件
|
||
- Systemd服务配置文件(如果需要)
|
||
- 其他必要的配置文件
|
||
|
||
3. **编写部署文档**
|
||
- 详细的部署步骤
|
||
- 前端部署流程
|
||
- 后端部署流程
|
||
- 验证方法
|
||
- 常见问题排查
|
||
|
||
4. **提供后续更新流程**
|
||
- 如何更新前端
|
||
- 如何更新后端
|
||
- 如何重启服务
|
||
- 如何管理systemd服务
|
||
|
||
## 五、注意事项
|
||
|
||
1. **提供准确信息**:确保提供的路径、端口、域名等信息准确无误
|
||
2. **说明限制条件**:如果有任何限制(如只能复制文件、不能在服务器上编译等),请明确说明
|
||
3. **提供现有配置**:如果有现有配置文件,请提供内容,这样AI助手可以保持配置风格一致
|
||
4. **明确特殊需求**:如果有特殊要求(如WebSocket、文件上传、超时设置等),请详细说明
|
||
|
||
## 六、快速参考
|
||
|
||
如果你只是想更新现有项目,可以简化需求:
|
||
|
||
```
|
||
我需要更新【项目名称】的部署配置。
|
||
|
||
【变更内容】
|
||
- 【说明需要变更的地方】
|
||
|
||
【现有配置】
|
||
【提供现有配置文件内容】
|
||
|
||
请帮我更新配置文件并说明如何应用变更。
|
||
```
|
||
|
||
---
|
||
|
||
**提示**:将此文件保存到项目的 `docs/` 目录下,方便随时查阅和参考。
|