Рефакторинг и деплоинг
This commit is contained in:
99
Makefile
Normal file
99
Makefile
Normal file
@@ -0,0 +1,99 @@
|
||||
.PHONY: help dev-up dev-down dev-build dev-logs prod-up prod-down prod-build prod-logs shell migrate createsuperuser clean
|
||||
|
||||
help:
|
||||
@echo "Доступные команды:"
|
||||
@echo " make dev-up - Запустить development окружение"
|
||||
@echo " make dev-down - Остановить development окружение"
|
||||
@echo " make dev-build - Пересобрать development контейнеры"
|
||||
@echo " make dev-logs - Показать логи development"
|
||||
@echo " make prod-up - Запустить production окружение"
|
||||
@echo " make prod-down - Остановить production окружение"
|
||||
@echo " make prod-build - Пересобрать production контейнеры"
|
||||
@echo " make prod-logs - Показать логи production"
|
||||
@echo " make shell - Открыть Django shell"
|
||||
@echo " make migrate - Выполнить миграции"
|
||||
@echo " make createsuperuser - Создать суперпользователя"
|
||||
@echo " make clean - Удалить все контейнеры и volumes"
|
||||
|
||||
# Development команды
|
||||
dev-up:
|
||||
docker-compose up -d
|
||||
|
||||
dev-down:
|
||||
docker-compose down
|
||||
|
||||
dev-build:
|
||||
docker-compose up -d --build
|
||||
|
||||
dev-logs:
|
||||
docker-compose logs -f
|
||||
|
||||
dev-restart:
|
||||
docker-compose restart web
|
||||
|
||||
# Production команды
|
||||
prod-up:
|
||||
docker-compose -f docker-compose.prod.yaml up -d
|
||||
|
||||
prod-down:
|
||||
docker-compose -f docker-compose.prod.yaml down
|
||||
|
||||
prod-build:
|
||||
docker-compose -f docker-compose.prod.yaml up -d --build
|
||||
|
||||
prod-logs:
|
||||
docker-compose -f docker-compose.prod.yaml logs -f
|
||||
|
||||
prod-restart:
|
||||
docker-compose -f docker-compose.prod.yaml restart web
|
||||
|
||||
# Django команды (для development по умолчанию)
|
||||
shell:
|
||||
docker-compose exec web python manage.py shell
|
||||
|
||||
migrate:
|
||||
docker-compose exec web python manage.py migrate
|
||||
|
||||
makemigrations:
|
||||
docker-compose exec web python manage.py makemigrations
|
||||
|
||||
createsuperuser:
|
||||
docker-compose exec web python manage.py createsuperuser
|
||||
|
||||
collectstatic:
|
||||
docker-compose exec web python manage.py collectstatic --noinput
|
||||
|
||||
# Для production
|
||||
prod-shell:
|
||||
docker-compose -f docker-compose.prod.yaml exec web python manage.py shell
|
||||
|
||||
prod-migrate:
|
||||
docker-compose -f docker-compose.prod.yaml exec web python manage.py migrate
|
||||
|
||||
prod-createsuperuser:
|
||||
docker-compose -f docker-compose.prod.yaml exec web python manage.py createsuperuser
|
||||
|
||||
# Backup и восстановление
|
||||
backup:
|
||||
docker-compose exec db pg_dump -U geralt geodb > backup_$(shell date +%Y%m%d_%H%M%S).sql
|
||||
|
||||
restore:
|
||||
@read -p "Введите имя файла backup: " file; \
|
||||
docker-compose exec -T db psql -U geralt geodb < $$file
|
||||
|
||||
# Очистка
|
||||
clean:
|
||||
docker-compose down -v
|
||||
docker system prune -f
|
||||
|
||||
clean-all:
|
||||
docker-compose down -v
|
||||
docker-compose -f docker-compose.prod.yaml down -v
|
||||
docker system prune -af --volumes
|
||||
|
||||
# Проверка статуса
|
||||
status:
|
||||
docker-compose ps
|
||||
|
||||
prod-status:
|
||||
docker-compose -f docker-compose.prod.yaml ps
|
||||
Reference in New Issue
Block a user