-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathmakefile
86 lines (72 loc) · 5.99 KB
/
makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
SHELL := /bin/bash
setup_dev:
@echo ----------------------------------------------Create Dev Containers------------------------------------------
docker-compose -f docker-compose.yml -f docker-compose.dev.yml build
docker-compose -f docker-compose.yml -f docker-compose.dev.yml run django-app ./wait-for-postgres.sh python3 manage.py migrate
run_dev:
@echo ----------------------------------------------Start Development Server------------------------------------------
docker-compose -f docker-compose.yml -f docker-compose.dev.yml up
prod_migrate:
@echo ----------------------------------------------RUNNING DJANGO MIGRATIONS PROD----------------------------------------
docker-compose -f docker-compose.yml -f docker-compose.prod.yml build django-app
docker-compose -f docker-compose.yml -f docker-compose.prod.yml run django-app python3 manage.py migrate
prod_shell:
@echo ----------------------------------------------DJANGO SHELL PROD----------------------------------------
docker-compose -f docker-compose.yml -f docker-compose.prod.yml build django-app
docker-compose -f docker-compose.yml -f docker-compose.prod.yml run django-app python3 manage.py shell
debug_shell:
@echo ----------------------------------------------STARTING DEBUG SHELL----------------------------------------
docker-compose -f docker-compose.yml -f docker-compose.dev.yml build django-app
docker-compose -f docker-compose.yml -f docker-compose.dev.yml run django-app python3 manage.py shell
db_shell:
@echo ----------------------------------------------STARTING DB SHELL----------------------------------------
docker-compose -f docker-compose.yml -f docker-compose.dev.yml build django-app
docker-compose -f docker-compose.yml -f docker-compose.dev.yml run django-app python3 manage.py dbshell
prod_db_shell:
@echo ----------------------------------------------DJANGO SHELL PROD----------------------------------------
docker-compose -f docker-compose.yml -f docker-compose.prod.yml build django-app
docker-compose -f docker-compose.yml -f docker-compose.prod.yml run django-app python3 manage.py dbshell
default_objects:
@echo ----------------------------------------------CREATING SAMPLE OBJECTS----------------------------------------
docker-compose -f docker-compose.yml -f docker-compose.dev.yml run django-app python3 manage.py create_default_overlays
docker-compose -f docker-compose.yml -f docker-compose.dev.yml run django-app python3 manage.py get_latest_usgs
docker-compose -f docker-compose.yml -f docker-compose.dev.yml run django-app python3 manage.py create_social_app
docker-compose -f docker-compose.yml -f docker-compose.dev.yml run django-app python3 manage.py create_default_nux
test:
@echo ----------------------------------------------STARTING TESTS----------------------------------------
@echo -e "\e[46mWant to debug a single test? - don't want to rebuild docker container?\nSee the readme: https://github.com/ISPToolbox/ISPToolbox#debugging-django-tests-with-vscode \e[0m"
mkdir -p coverage
docker-compose -f docker-compose.yml -f docker-compose.dev.yml build
docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d
docker-compose -f docker-compose.yml -f docker-compose.dev.yml exec -T django-app python3 /opt/scripts/create_coverage_file.py .coveragerc-base .coveragerc-unittest /opt/.coveragerc
docker-compose -f docker-compose.yml -f docker-compose.dev.yml exec -T django-app coverage erase
docker-compose -f docker-compose.yml -f docker-compose.dev.yml exec -T django-app ./wait-for-postgres.sh coverage run manage.py test --noinput
docker-compose -f docker-compose.yml -f docker-compose.dev.yml exec -T django-app coverage combine
docker-compose -f docker-compose.yml -f docker-compose.dev.yml exec -T django-app coverage report
docker-compose -f docker-compose.yml -f docker-compose.dev.yml exec -T django-app coverage html
docker-compose -f docker-compose.yml -f docker-compose.dev.yml exec -T django-app coverage erase
docker-compose -f docker-compose.yml -f docker-compose.dev.yml stop
static_test:
@echo ----------------------------------------------BUIDLING STATIC FILES FOR INTEGRATION TESTS----------------------------------------
docker-compose -f docker-compose.yml -f docker-compose.dev.yml build
docker-compose -f docker-compose.yml -f docker-compose.dev.yml run static ./build_static_prod.sh
prod_check_migrations:
docker-compose -f docker-compose.yml -f docker-compose.prod.yml build django-app
@echo $$(tput setaf 3)Checking for migrations before deploying - if an error occurs, make sure migrations are applied - $$(tput setab 7)$$(tput setaf 0)make prod_migrate$$(tput sgr 0)$$(tput el)
docker-compose -f docker-compose.yml -f docker-compose.prod.yml run django-app python3 manage.py migrate --check
static_prod:
@echo ----------------------------------------------BUIDLING STATIC FILES \& PUSHING TO PROD \(S3\)----------------------------------------
docker-compose -f docker-compose.yml -f webserver/static/docker-compose.static-prod.yml build
docker-compose -f docker-compose.yml -f webserver/static/docker-compose.static-prod.yml run static
@echo This next step may take 5-10 minutes, hashing static files and pushing to S3, commit the new staticfiles.json to git, feel free to try to improve this push step
docker-compose -f docker-compose.yml -f webserver/static/docker-compose.static-prod.yml run django-app python3 manage.py collectstatic --noinput
build_test:
@echo ----------------------------------------------Build Test Server------------------------------------------
docker-compose -f docker-compose.yml -f docker-compose.test.yml build
run_test:
@echo ----------------------------------------------Start Integration Test Server------------------------------------------
mkdir -p coverage
docker-compose -f docker-compose.yml -f docker-compose.test.yml up
debug_test:
# Run Local Test - Attach Debugger to Continue
docker-compose -f docker-compose.yml -f docker-compose.dev.yml run --service-ports -e TEST_DEBUG=$(TEST_DEBUG) django-app ./wait-for-postgres.sh python3 manage.py test --noinput $(TESTCASE)