edit | blame | history | raw

首次部署脚本使用说明

本目录包含接口自动化平台首次部署时所需的初始化脚本。

脚本列表

1. deploy_init.py - 首次部署初始化脚本(推荐)

一键执行所有初始化操作,包括:
- 检查数据库连接
- 执行数据库迁移
- 创建管理员用户
- 创建默认用户组
- 收集静态文件

使用方法:
bash cd backend python scripts/deploy_init.py

默认管理员账号:
- 用户名: admin
- 密码: admin123

⚠️ 重要提示: 请在首次登录后立即修改默认密码!


2. run_migrations.py - 数据库迁移脚本

单独执行数据库迁移操作。

使用方法:
bash cd backend python scripts/run_migrations.py


3. create_admin_user.py - 创建管理员用户脚本

创建管理员用户和测试用户。

使用方法:
bash cd backend python scripts/create_admin_user.py

默认创建的用户:
- admin - 系统管理员(超级用户)
- testuser - 测试用户(普通用户)
- developer - 开发人员(员工用户)

自定义管理员账号:
修改脚本中的 create_admin_user() 函数参数:
python create_admin_user( username='your_username', password='your_password', email='your_email@example.com', name='your_name' )


4. create_groups.py - 创建用户组脚本

创建默认用户组并分配权限。

使用方法:
bash cd backend python scripts/create_groups.py

默认创建的用户组:
- 管理员组 - 拥有所有权限
- 开发人员组 - 可以查看、添加和修改数据
- 测试人员组 - 可以查看和添加数据
- 只读用户组 - 只能查看数据


5. collect_static.py - 收集静态文件脚本

收集所有静态文件到 STATIC_ROOT 目录。

使用方法:
bash cd backend python scripts/collect_static.py


部署前准备

1. 配置数据库连接

编辑 backend/conf/env.py 文件,配置数据库连接信息:

DATABASE_NAME = 'your_database_name'
DATABASE_USER = 'your_database_user'
DATABASE_PASSWORD = 'your_database_password'
DATABASE_HOST = 'localhost'
DATABASE_PORT = '3306'

2. 创建数据库

在 MySQL 中创建数据库:

CREATE DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

3. 安装依赖

cd backend
pip install -r requirements.txt

完整部署流程

方式一:使用一键部署脚本(推荐)

cd backend
python scripts/deploy_init.py

方式二:分步执行

cd backend

# 1. 执行数据库迁移
python scripts/run_migrations.py

# 2. 创建管理员用户
python scripts/create_admin_user.py

# 3. 创建用户组
python scripts/create_groups.py

# 4. 收集静态文件
python scripts/collect_static.py

启动服务

开发环境

cd backend
python manage.py runserver

生产环境

cd backend
gunicorn backend.wsgi:application -c gunicorn_conf.py

常见问题

1. 数据库连接失败

检查 conf/env.py 中的数据库配置是否正确,确保数据库已创建且用户有足够的权限。

2. 迁移失败

确保数据库表不存在或为空。如果之前有迁移历史,可能需要删除 migrations 目录下的迁移文件(保留 __init__.py)。

3. 静态文件收集失败

确保 STATIC_ROOT 目录有写入权限。

4. 用户已存在

脚本会自动检测用户是否已存在,如果存在则跳过创建。


数据库表结构说明

lunaruser 应用

  • lunaruser_myuser - 用户表(继承自 Django AbstractUser)

lunarlink 应用

  • project - 项目信息表
  • config - 环境信息表
  • api - 接口信息表
  • case - 用例信息表
  • case_step - 用例步骤表
  • variables - 全局变量表
  • debugtalk - 驱动代码表
  • report - 测试报告表
  • report_detail - 测试报告详情表
  • relation - 树形结构关系表
  • visit - 访问日志表
  • login_log - 登录日志表

安全建议

  1. 修改默认密码: 首次登录后立即修改管理员密码
  2. 使用强密码: 密码长度至少 8 位,包含大小写字母、数字和特殊字符
  3. 限制访问: 在生产环境中配置防火墙规则
  4. 启用 HTTPS: 生产环境必须使用 HTTPS
  5. 定期备份: 定期备份数据库和重要文件

技术支持

如有问题,请查看项目文档或联系技术支持团队。