86
Makefile
Normal file
86
Makefile
Normal file
@ -0,0 +1,86 @@
|
||||
.DEFAULT_GOAL := help
|
||||
|
||||
.PHONY: help
|
||||
help: ## Show help
|
||||
@grep -E '^[\.a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) \
|
||||
| awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
|
||||
|
||||
.PHONY: env_file
|
||||
env_file: ## Generate .gen.env file from env with "LENOCHKA_" prefix.
|
||||
touch .gen.env && env | grep -E '^LENOCHKA_' > ".gen.env" || echo "No env vars"
|
||||
test -f .env && cat .env > .gen.env || echo ".env file not found"
|
||||
|
||||
.PHONY: build
|
||||
build: env_file ## Build docker container image.
|
||||
docker-compose \
|
||||
-f ./deploy/docker-compose.yml \
|
||||
--project-directory . \
|
||||
build --pull lenochka
|
||||
|
||||
.PHONY: build_test
|
||||
build-test: ## Build image for tests.
|
||||
docker-compose \
|
||||
-f ./deploy/docker-compose.test.yml \
|
||||
--project-directory . \
|
||||
build --no-cache test_lenochka
|
||||
|
||||
.PHONY: flake8
|
||||
flake8: ## Run flake8 check
|
||||
docker-compose \
|
||||
-f ./deploy/docker-compose.test.yml \
|
||||
--project-directory . \
|
||||
run test_lenochka flake8 --count .
|
||||
|
||||
.PHONY: black
|
||||
black: ## Run black check
|
||||
docker-compose \
|
||||
-f ./deploy/docker-compose.test.yml \
|
||||
--project-directory . \
|
||||
run test_lenochka black --check .
|
||||
|
||||
.PHONY: mypy
|
||||
mypy: ## Run pytest tests
|
||||
docker-compose \
|
||||
-f ./deploy/docker-compose.test.yml \
|
||||
--project-directory . \
|
||||
run test_lenochka mypy .
|
||||
|
||||
.PHONY: pytest
|
||||
pytest: ## Run pytest tests
|
||||
docker-compose \
|
||||
-f ./deploy/docker-compose.test.yml \
|
||||
--project-directory . \
|
||||
run test_lenochka pytest -v --cov=lenochka
|
||||
|
||||
.PHONY: push
|
||||
push: env_file ## Push container to the registry.
|
||||
docker-compose \
|
||||
-f ./deploy/docker-compose.yml \
|
||||
--project-directory . \
|
||||
push lenochka
|
||||
|
||||
.PHONY: pull
|
||||
pull: env_file ## Download images from docker hub.
|
||||
docker-compose \
|
||||
-f deploy/docker-compose.yml \
|
||||
--project-directory . \
|
||||
pull --ignore-pull-failures lenochka \
|
||||
|| \
|
||||
docker-compose \
|
||||
-f deploy/docker-compose.yml \
|
||||
--project-directory . \
|
||||
pull lenochka
|
||||
|
||||
.PHONY: deploy-prod
|
||||
deploy-prod: pull ## deploy container in production.
|
||||
docker-compose \
|
||||
-f ./deploy/docker-compose.yml \
|
||||
--project-directory . \
|
||||
up -d
|
||||
|
||||
.PHONY: clear-test
|
||||
clear-test: ## Remove containers and images for test
|
||||
docker-compose \
|
||||
-f ./deploy/docker-compose.test.yml \
|
||||
--project-directory . \
|
||||
down --rmi=all
|
Reference in New Issue
Block a user