/
Makefile
112 lines (96 loc) · 3.7 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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# Если существует .env.local, то он будет прочитан, иначе .env
ifneq (",$(wildcard ./.env.local)")
include .env.local
DEFAULT_ENV_FILE = '.env.local'
else
include .env
DEFAULT_ENV_FILE = '.env'
endif
env = ${APP_ENV}
pwd = $(shell eval pwd -P)
help:
@echo "[${env}]: ENV get from ${DEFAULT_ENV_FILE}"
restart: down up
restart-build: down build up
deploy:
@git pull
@make -s restart-build
@make -s composer-install
@make -s cache-warmup
@make -s bin-console c="doctrine:migrations:migrate --no-interaction"
test-full-up:
@make env=test -s restart-build
@make env=test -s composer-install
@make env=test -s cache-warmup
@make env=test -s bin-console c="doctrine:schema:drop --force --full-database"
@make env=test -s bin-console c="doctrine:migrations:migrate --no-interaction"
test-down:
@make env=test -s down
generate-env-files:
@if [ ! -f .env.local ]; then \
echo "[${env}]: generate => .env.local"; \
cp .env .env.local; \
sed -i "s/APP_ENV=prod/APP_ENV=${env}/g" .env.local; \
else \
echo "[${env}]: already exist => .env.local"; \
fi
@if [ ! -f .env.docker.${env}.local ]; then \
echo "[${env}]: generate => .env.docker.${env}.local"; \
cp .env.docker .env.docker.${env}.local; \
sed -i "s/APP_ENV=~/APP_ENV=${env}/g" .env.docker.${env}.local; \
else \
echo "[${env}]: already exist => .env.docker.${env}.local "; \
fi
build:
@echo "[${env}]: build containers..."
@docker-compose --file=./docker-compose.yml --file=./docker-compose.${env}.yml --env-file=./.env.docker.${env}.local -p "${pwd}_${env}" \
build
@echo "[${env}]: containers builded!"
up:
@echo "[${env}]: start containers..."
@docker-compose --file=./docker-compose.yml --file=./docker-compose.${env}.yml --env-file=./.env.docker.${env}.local -p "${pwd}_${env}" \
up -d
@echo "[${env}]: containers started!"
down:
@echo "[${env}]: stopping containers..."
@docker-compose --file=./docker-compose.yml --file=./docker-compose.${env}.yml --env-file=./.env.docker.${env}.local -p "${pwd}_${env}" \
down --remove-orphans
@echo "[${env}]: containers stopped!"
bin-console:
@docker-compose --file=./docker-compose.yml --file=./docker-compose.${env}.yml --env-file=./.env.docker.${env}.local -p "${pwd}_${env}" \
run --rm php-cli \
bin/console -e ${env} ${c}
bin-bash:
@docker-compose --file=./docker-compose.yml --file=./docker-compose.${env}.yml --env-file=./.env.docker.${env}.local -p "${pwd}_${env}" \
run --rm php-cli \
/bin/bash ${c}
cache-clear:
@if [ -d var/cache/${env} ]; then \
echo "[${env}]: Clearing var/cache/${env}..."; \
rm -rf var/cache/${env}; \
fi
cache-warmup:
@docker-compose --file=./docker-compose.yml --file=./docker-compose.${env}.yml --env-file=./.env.docker.${env}.local -p "${pwd}_${env}" \
run --rm php-cli \
bin/console cache:warmup -e ${env}
#@chmod -R 777 var/cache/${env}
composer-install:
@if [ ${env} = 'prod' ]; then \
docker-compose --file=./docker-compose.yml --file=./docker-compose.${env}.yml --env-file=./.env.docker.${env}.local -p "${pwd}_${env}" \
run --rm php-cli \
composer install --no-dev; \
else \
docker-compose --file=./docker-compose.yml --file=./docker-compose.${env}.yml --env-file=./.env.docker.${env}.local -p "${pwd}_${env}" \
run --rm php-cli \
composer install; \
fi
composer-update:
@if [ ${env} = 'prod' ]; then \
docker-compose --file=./docker-compose.yml --file=./docker-compose.${env}.yml --env-file=./.env.docker.${env}.local -p "${pwd}_${env}" \
run --rm php-cli \
composer update --no-dev; \
else \
docker-compose --file=./docker-compose.yml --file=./docker-compose.${env}.yml --env-file=./.env.docker.${env}.local -p "${pwd}_${env}" \
run --rm php-cli \
composer update; \
fi