Skip to content
嘉然今天吃什么 edited this page Dec 5, 2021 · 2 revisions

开发须知

本项目使用 Docker 持续集成部署

规则:push 或 pull request 到 dev 分支触发开发版构建,push tag(v*..) 或 pull request 到 master 分支触发正式版构建

采用负责人制,开发人员需要在功能分支上开发并编写单元测试,通过测试后提交 pull request 至 dev 分支,由项目负责人审核代码后合并。发布正式版时,由 dev 分支合并至 master 分支

bug 反馈或开发建议可以在 issue 中提出,请遵照 issue 模板,不符合规范的 issue 将被删除

开发环境的配置

  1. 克隆本仓库并安装依赖

    git clone [email protected]:OpenTreeHole/backend.git OpenTreeHole
    cd OpenTreeHole
    # 安装系统依赖(以 Debian 为例)
    sudo apt install python3 python3-pip redis-server libmagic1
    pip3 install pipenv
    # 如果是 windows 系统,还需安装 python 包 python-magic-bin
    pip3 install --user python-magic-bin
    # 安装 python 依赖
    pipenv install --dev
    # 执行数据库迁移并预加载数据
    pipenv shell
    python manage.py migrate
    python start.py
    # 运行开发服务器
    python manage.py runserver  
    
  2. 设置环境变量 HOLE_ENV

    开发环境为 development,测试环境为 testing,生产环境为 production

    # *nix
    export HOLE_ENV=development
    # windows
    此电脑 -> 属性 -> 高级系统设置 -> 高级 -> 环境变量 -> 用户变量 -> 新建
    
  3. 在 OpenTreeHole/OpenTreeHole/config.py 中填写需要的配置, 或设置同名的环境变量以覆盖

  4. 启动celery

    本项目使用 celery 实现任务队列(如发送邮件,上传文件等 IO 操作),如不需要用到这些功能,可以不启动 celery

    celery -A OpenTreeHole worker -l info -P solo
Clone this wiki locally