130 lines
3.7 KiB
Markdown
130 lines
3.7 KiB
Markdown
# 用户服务部署使用手册
|
||
|
||
## 一、概述
|
||
|
||
本文档介绍用户服务系统的创建、构建和部署流程,涉及`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的脚本
|
||
``` |