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