Merge pull request #171 from ronething/fix/makefile

optimize: makefile help
This commit is contained in:
pycook 2023-09-05 20:34:16 +08:00 committed by GitHub
commit 15f264681b
1 changed files with 27 additions and 20 deletions

View File

@ -1,45 +1,52 @@
.PHONY: env clean api ui worker MYSQL_ROOT_PASSWORD ?= root
MYSQL_PORT ?= 3306
REDIS_PORT ?= 6379
help: default: help
@echo " env create a development environment using pipenv" help: ## display this help
@echo " deps install dependencies using pip" @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m<target>\033[0m\n"} /^[a-zA-Z0-9_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
@echo " clean remove unwanted files like .pyc's" .PHONY: help
@echo " lint check style with flake8"
@echo " api start api server"
@echo " ui start ui server"
@echo " worker start async tasks worker"
env: env: ## create a development environment using pipenv
sudo easy_install pip && \ sudo easy_install pip && \
pip install pipenv -i https://pypi.douban.com/simple && \ pip install pipenv -i https://pypi.douban.com/simple && \
npm install yarn && \ npm install yarn && \
make deps make deps
.PHONY: env
docker-mysql: docker-mysql: ## deploy MySQL use docker
@docker run --name some-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest @docker run --name mysql -p ${MYSQL_PORT}:3306 -e MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} -d mysql:latest
.PHONY: docker-mysql
docker-redis: docker-redis: ## deploy Redis use docker
@docker run --name some-redis -p 6379:6379 -d redis:latest @docker run --name redis -p ${REDIS_PORT}:6379 -d redis:latest
.PHONY: docker-redis
deps: deps: ## install dependencies using pip
cd cmdb-api && \ cd cmdb-api && \
pipenv install --dev && \ pipenv install --dev && \
pipenv run flask db-setup && \ pipenv run flask db-setup && \
pipenv run flask cmdb-init-cache && \ pipenv run flask cmdb-init-cache && \
cd .. && \ cd .. && \
cd cmdb-ui && yarn install && cd .. cd cmdb-ui && yarn install && cd ..
.PHONY: deps
api: api: ## start api server
cd cmdb-api && pipenv run flask run -h 0.0.0.0 cd cmdb-api && pipenv run flask run -h 0.0.0.0
.PHONY: api
worker: worker: ## start async tasks worker
cd cmdb-api && pipenv run celery -A celery_worker.celery worker -E -Q one_cmdb_async --concurrency=1 -D && pipenv run celery -A celery_worker.celery worker -E -Q acl_async --concurrency=1 -D cd cmdb-api && pipenv run celery -A celery_worker.celery worker -E -Q one_cmdb_async --concurrency=1 -D && pipenv run celery -A celery_worker.celery worker -E -Q acl_async --concurrency=1 -D
.PHONY: worker
ui: ui: ## start ui server
cd cmdb-ui && yarn run serve cd cmdb-ui && yarn run serve
.PHONY: ui
clean: clean: ## remove unwanted files like .pyc's
pipenv run flask clean pipenv run flask clean
.PHONY: clean
lint: lint: ## check style with flake8
flake8 --exclude=env . flake8 --exclude=env .
.PHONY: lint