64 lines
1.2 KiB
Makefile
64 lines
1.2 KiB
Makefile
# Default host and port values
|
|
APP_HOST ?= 0.0.0.0
|
|
APP_PORT ?= 8000
|
|
|
|
# Main commands
|
|
dev:
|
|
python3 -m dotenv -f version_code run \
|
|
python3 -m dotenv -f .env_debug run \
|
|
make xcmd-dev
|
|
|
|
prod:
|
|
python3 -m dotenv -f version_code run \
|
|
python3 -m gunicorn \
|
|
-w 4 -k uvicorn.workers.UvicornWorker \
|
|
-b $${APP_HOST}:$${APP_PORT} main:app
|
|
|
|
# Code checking
|
|
format:
|
|
python3 -m autopep8 -r --in-place app/
|
|
|
|
check:
|
|
python3 -m mypy app/
|
|
python3 -m pylint app/
|
|
|
|
# Docker
|
|
docker:
|
|
python3 -m dotenv -f version_code run \
|
|
make xcmd-docker-build
|
|
|
|
docker-build:
|
|
python3 -m dotenv -f version_code run \
|
|
make xcmd-docker-build
|
|
|
|
docker-push:
|
|
python3 -m dotenv -f version_code run \
|
|
make xcmd-docker-push
|
|
|
|
docker-run:
|
|
docker compose -f ./docker-compose.yml up -d
|
|
|
|
# Clear cache and binaries
|
|
clean:
|
|
rm -rf \
|
|
__pycache__ \
|
|
app/__pycache__ \
|
|
app/*/__pycache__ \
|
|
.mypy_cache \
|
|
app.egg-info \
|
|
dist
|
|
|
|
# Helpers, should not be used directly
|
|
xcmd-dev:
|
|
python3 -m uvicorn main:app \
|
|
--reload \
|
|
--host $${APP_HOST} \
|
|
--port $${APP_PORT}
|
|
|
|
xcmd-docker-build:
|
|
docker build \
|
|
-t ${REPO_OWNER_LOWER}/${REPO_NAME_KEBAB}:latest \
|
|
-t ${REPO_OWNER_LOWER}/${REPO_NAME_KEBAB}:$${VERSION} .
|
|
|
|
xcmd-docker-push:
|
|
docker push -a ${REPO_OWNER_LOWER}/${REPO_NAME_KEBAB}
|