1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
help: ## Show this help.
@fgrep -h "##" $(MAKEFILE_LIST) | fgrep -v fgrep | sed -e 's/\\$$//' | sed -e 's/##//'
init: ## 初始化python环境,并加载测试数据
python3 -m venv env
env/bin/python3 -m pip install -r requirements.txt
env/bin/python3 src/manage.py migrate
env/bin/python3 src/manage.py loaddata --format yaml fixtures.yaml
@echo "初始化完成。现在你可以运行:make run 启动后端应用了。"
stop: ## 停止 make prd/ make run 启动的服务
-lsof -i:8099 | awk 'NR==2{print $$2}' | xargs kill
run: stop ## 运行后端服务(front)
export DEBUG=True && env/bin/python3 src/manage.py runserver 8099
prd: stop ## 生产环境运行(backend)
nohup env/bin/python3 src/manage.py runserver 0.0.0.0:8099 2>&1 &
upgrade: ## 升级后端服务代码
env/bin/python3 -m pip install -r requirements.txt
env/bin/python3 src/manage.py migrate
env/bin/python3 src/manage.py loaddata --format yaml fixtures.yaml
env/bin/python3 src/manage.py collectstatic --noinput
dep: ## 部署服务到supervisor与nginx
-sudo cp deploy/nginx/inspect_report_prd.conf /etc/nginx/conf.d/
-sudo cp deploy/supervisor/inspect_report_prd.ini /etc/supervisord.d/
crontab: ## 安装 cron 定时任务
cd src && ../env/bin/python3 manage.py installtasks
cloc: ## 代码量统计。请提前安装cloc(brew install cloc)
cloc --exclude-dir="env,docs,logs,include,CMakeFiles,dist,static,theme,build,staticfiles" --exclude-ext="json,xml,yaml,yml,md" .
%: ## cli命令
env/bin/python3 "cli.py" $(MAKECMDGOALS)