mirror of
				https://github.com/veops/cmdb.git
				synced 2025-11-01 03:49:31 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			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 \
 | |
|     			.
 |