Files
user_service/README.md
2025-10-09 18:19:57 +08:00

130 lines
3.7 KiB
Markdown
Raw Permalink 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.

# 用户服务部署使用手册
## 一、概述
本文档介绍用户服务系统的创建、构建和部署流程,涉及`create_api.py``deploy/deploy.sh`两个核心脚本的使用方法帮助使用者快速搭建和部署用户服务相关的API模块。
## 二、环境准备
1. 确保系统安装以下工具:
- Python 3.x
- Docker
- Docker Compose
2. 克隆代码库后,进入项目根目录:
```bash
cd user_service
```
## 三、核心脚本功能说明
### 1. 创建新API服务create_api.py
用于基于模板快速创建新的API服务模块自动生成目录结构和配置文件。
#### 使用方法:
1. 编辑`create_api.py`文件,设置`a`(功能名)和`b`(次功能名)参数:
```python
a = "aaaa" # 主功能名
b = "bbbb" # 次功能名(可选,如果不需要,留空)
```
2. 执行脚本:
```bash
sudo python3 create_api.py
```
#### 功能说明:
- 自动在`deploy/api`目录下创建新服务目录(格式:`api_{a}_{b}` 或 `api_{a}`
- 复制`api_template`模板文件并替换其中的占位符
- 生成对应的`docker-compose.{a}.{b}.yaml`或`docker-compose.{a}.yaml`文件
- 自动修改`release.sh`、`init.py`和`README.md`中的服务标识
### 2. 部署服务deploy/deploy.sh
用于停止现有服务、构建API并启动新的Docker Compose编排。
#### 使用方法:
```bash
cd deploy
sudo sh deploy.sh
```
#### 功能说明:
1. **步骤1停止现有服务**
- 停止`docker-compose.yaml`定义的`user_service`项目
2. **步骤2构建所有API服务**
- 遍历`./api`目录下的所有服务
- 执行每个服务的`release.sh`脚本
- 若构建失败则终止部署流程
3. **步骤3启动新服务**
- 使用`docker-compose.yaml`启动服务
- 项目名称为`user_service`
#### 配置说明:
脚本开头可修改以下配置参数:
```bash
COMPOSE_PROJECT_NAME="user_service" # Docker Compose项目名称
DOCKER_COMPOSE_FILE="./docker-compose.yaml" # 配置文件路径
API_DIR="./api" # API服务所在目录
```
## 四、完整工作流程
1. **创建新API服务**
```bash
# 编辑create_api.py设置功能名
sudo python3 create_api.py
```
2. **开发API功能**
- 在生成的`deploy/api/api_{a}_{b}`或`deploy/api/api_{a}`目录中编写代码(如`main.go`
- 根据需要修改`init.py`中的初始化逻辑
3. **构建服务镜像**
```bash
python3 build.py
```
4. **部署服务**
```bash
cd deploy
./deploy.sh
```
## 五、常见问题处理
1. **权限错误**
- 执行脚本时若出现`Permission denied`,尝试添加执行权限:
```bash
chmod +x deploy/deploy.sh
```
- 或使用`sudo`运行相关命令
2. **镜像构建失败**
- 检查`release.sh`中的镜像名称和构建命令是否正确
- 确保Docker服务正常运行`systemctl status docker`
3. **服务启动失败**
- 检查`docker-compose.yaml`配置是否正确
- 查看容器日志排查问题:`docker logs <容器名>`
4. **端口冲突**
- 若启动时提示端口被占用,修改`init.py`中的端口映射配置
## 六、服务目录结构说明
成功创建并部署后,项目主要目录结构如下:
```
user_service_副本/
├── deploy/
│ ├── api/ # 所有API服务目录
│ │ ├── api_login/ # 登录服务
│ │ ├── api_register/ # 注册服务
│ │ └── ... # 其他API服务
│ ├── docker-compose.yaml # 服务编排配置
│ └── deploy.sh # 部署脚本
└── create_api.py # 创建新API的脚本
```