Skip to content

Latest commit

 

History

History
196 lines (133 loc) · 5.09 KB

README-zh_CN.rst

File metadata and controls

196 lines (133 loc) · 5.09 KB

OpenV2X 设备管理 - APIServer

pep8 ci issue star license

English | 简体中文

目录

配置

  • 样例文件: dandelion.conf.sample

  • 首先,你需要从样例文件中拷贝一份配置文件。

    cp etc/dandelion/dandelion.conf.sample etc/dandelion/dandelion.conf
  • 通常,你应该修改以下配置属性值:

    [DEFAULT]
    debug: true
    log_file: dandelion.log
    log_dir: /var/log/dandelion
    
    [cors]
    origins: *
    
    [database]
    connection: mysql+pymysql://dandelion:[email protected]:3306/dandelion
    
    [mqtt]
    host: 127.0.0.1
    port: 1883
    username: root
    password: 123456
    
    [redis]
    connection: redis://root:[email protected]:6379?db=0&socket_timeout=60&retry_on_timeout=yes
    
    [token]
    expire_seconds: 604800
  • 最后,你可以将 etc/dandelion/dandelion.conf 链接至 /etc/dandelion/dandelion.conf

    mkdir -p /etc/dandelion
    DANDELION_PATH=`pwd`
    cd /etc/dandelion
    ln -s ${DANDELION_PATH}/etc/dandelion/dandelion.conf dandelion.conf

构建 && 运行 (Linux)

  • 构建 docker 镜像

    RELEASE_VERSION=`git rev-parse --short HEAD`_`date -u +%Y-%m-%dT%H:%M:%S%z`
    GIT_BRANCH=`git rev-parse --abbrev-ref HEAD`
    GIT_COMMIT=`git rev-parse --verify HEAD`
    docker build --no-cache --pull --force-rm --build-arg RELEASE_VERSION=${RELEASE_VERSION} --build-arg GIT_BRANCH=${GIT_BRANCH} --build-arg GIT_COMMIT=${GIT_COMMIT} -f Dockerfile -t dandelion:latest .
  • 以容器方式运行 dandelion 服务

    mkdir -p /var/log/dandelion
    docker run -d --name dandelion_bootstrap -e KOLLA_BOOTSTRAP="" -v /etc/dandelion/dandelion.conf:/etc/dandelion/dandelion.conf --net=host dandelion:latest
    docker rm dandelion_bootstrap
    docker run -d --name dandelion --restart=always -v /etc/dandelion/dandelion.conf:/etc/dandelion/dandelion.conf -v /var/log/dandelion:/var/log/dandelion --net=host dandelion:latest

本地开发 (Linux)

运行服务

  • 在你运行 dandelion 服务前,你需要按照 配置 章节操作。

    tox -e venv
    source .tox/venv/bin/activate
    uvicorn --reload --reload-dir dandelion --port 28300 --log-level debug dandelion.main:app --host 0.0.0.0
  • 你可以在 http://127.0.0.1:28300/docs 地址访问 OpenAPI swagger 文档。

Alembic (数据库迁移)

  • 生成迁移脚本.

    tox -e venv
    source .tox/venv/bin/activate
    alembic revision --autogenerate -m "xxxx"
  • 运行迁移脚本以及更新数据库。

    tox -e venv
    source .tox/venv/bin/activate
    alembic upgrade head

Tox 工具

  • 生成最新的 swagger 文件。

    tox -e genswagger
  • 生成最新的样例配置文件。

    tox -e genconfig
  • 代码格式化以及样式检查。

    tox -e pep8-format
    tox -e pep8

接口自动化测试

  • 安装依赖

    pip3 install gabbi
  • 执行测试

    ls apitest/*.yaml | xargs gabbi-run 139.196.13.9:28300 --
    ls apitest/*.yaml | xargs gabbi-run localhost:28300 --
    
    # show verbose
    gabbi-run -v all 139.196.13.9:28300 -- apitest/*.yaml
    gabbi-run -v all localhost:28300 -- apitest/*.yaml

注意

  • 在创建 PR 之前,请执行 dprint fmt 来格式化 Markdown 文件。