mirror of https://github.com/veops/cmdb.git
72 lines
2.5 KiB
Makefile
72 lines
2.5 KiB
Makefile
include ./Makefile.variable
|
|
|
|
default: help
|
|
help: ## display this help
|
|
@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)
|
|
.PHONY: help
|
|
|
|
env: ## create a development environment using pipenv
|
|
sudo easy_install pip && \
|
|
pip install pipenv -i https://repo.huaweicloud.com/repository/pypi/simple && \
|
|
npm install yarn && \
|
|
make deps
|
|
.PHONY: env
|
|
|
|
docker-mysql: ## deploy MySQL use docker
|
|
@docker run --name mysql -p ${MYSQL_PORT}:3306 -e MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} -d mysql:latest
|
|
.PHONY: docker-mysql
|
|
|
|
docker-redis: ## deploy Redis use docker
|
|
@docker run --name redis -p ${REDIS_PORT}:6379 -d redis:latest
|
|
.PHONY: docker-redis
|
|
|
|
deps: ## install dependencies using pip
|
|
cd cmdb-api && \
|
|
pipenv install --dev && \
|
|
pipenv run flask db-setup && \
|
|
pipenv run flask cmdb-init-cache && \
|
|
cd .. && \
|
|
cd cmdb-ui && yarn install && cd ..
|
|
.PHONY: deps
|
|
|
|
api: ## start api server
|
|
cd cmdb-api && pipenv run flask run -h 0.0.0.0
|
|
.PHONY: api
|
|
|
|
worker: ## start async tasks worker
|
|
cd cmdb-api && pipenv run celery -A celery_worker.celery worker -E -Q one_cmdb_async --autoscale=5,2 --logfile=one_cmdb_async.log -D && pipenv run celery -A celery_worker.celery worker -E -Q acl_async --autoscale=2,1 --logfile=one_acl_async.log -D
|
|
.PHONY: worker
|
|
|
|
ui: ## start ui server
|
|
cd cmdb-ui && yarn run serve
|
|
.PHONY: ui
|
|
|
|
clean: ## remove unwanted files like .pyc's
|
|
pipenv run flask clean
|
|
.PHONY: clean
|
|
|
|
lint: ## check style with flake8
|
|
flake8 --exclude=env .
|
|
.PHONY: lint
|
|
|
|
api-docker-build:
|
|
export DOCKER_CLI_EXPERIMENTAL=enabled ;\
|
|
! ( docker buildx ls | grep multi-platform-builder ) && docker buildx create --use --platform=$(BUILD_ARCH) --name multi-platform-builder ;\
|
|
docker buildx build \
|
|
--builder multi-platform-builder \
|
|
--platform=$(BUILD_ARCH) \
|
|
--tag $(REGISTRY)/cmdb-api:$(CMDB_DOCKER_VERSION) \
|
|
--tag $(REGISTRY)/cmdb-api:latest \
|
|
-f docker/Dockerfile-API \
|
|
.
|
|
|
|
ui-docker-build:
|
|
export DOCKER_CLI_EXPERIMENTAL=enabled ;\
|
|
! ( docker buildx ls | grep multi-platform-builder ) && docker buildx create --use --platform=$(BUILD_ARCH) --name multi-platform-builder ;\
|
|
docker buildx build \
|
|
--builder multi-platform-builder \
|
|
--platform=$(BUILD_ARCH) \
|
|
--tag $(REGISTRY)/cmdb-ui:$(CMDB_DOCKER_VERSION) \
|
|
--tag $(REGISTRY)/cmdb-ui:latest \
|
|
-f docker/Dockerfile-UI \
|
|
.
|