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
构建 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
在你运行 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 文档。
生成迁移脚本.
tox -e venv source .tox/venv/bin/activate alembic revision --autogenerate -m "xxxx"
运行迁移脚本以及更新数据库。
tox -e venv source .tox/venv/bin/activate alembic upgrade head
生成最新的 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 文件。