/
Makefile
131 lines (90 loc) · 3.24 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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
IMAGE_NAME=bireme/fi-admin
APP_VERSION?=$(shell git describe --tags --long --always | sed 's/-g[a-z0-9]\{7\}//' | sed 's/-/\./')
TAG_LATEST=$(IMAGE_NAME):latest
COMPOSE_FILE_DEV=docker-compose-dev.yml
COMPOSE_FILE_API=docker-compose-api.yml
## variable used in docker-compose for tag the build image
export IMAGE_TAG=$(IMAGE_NAME):$(APP_VERSION)
tag:
@echo "IMAGE TAG:" $(IMAGE_TAG)
## docker-compose desenvolvimento
dev_build:
@docker-compose -f $(COMPOSE_FILE_DEV) build
dev_up:
@docker-compose -f $(COMPOSE_FILE_DEV) up -d
dev_run:
@docker-compose -f $(COMPOSE_FILE_DEV) up
dev_logs:
@docker-compose -f $(COMPOSE_FILE_DEV) logs -f
dev_stop:
@docker-compose -f $(COMPOSE_FILE_DEV) stop
dev_ps:
@docker-compose -f $(COMPOSE_FILE_DEV) ps
dev_rm:
@docker-compose -f $(COMPOSE_FILE_DEV) rm -f
dev_sh:
@docker-compose -f $(COMPOSE_FILE_DEV) exec fi_admin sh
dev_test:
@docker-compose -f $(COMPOSE_FILE_DEV) exec fi_admin make test
dev_add_gettext:
@docker-compose -f $(COMPOSE_FILE_DEV) exec fi_admin apk add --no-cache gettext
dev_update_translations:
@docker-compose -f $(COMPOSE_FILE_DEV) exec fi_admin python manage.py makemessages --all
dev_import:
@docker-compose -f $(COMPOSE_FILE_DEV) exec -T fi_admin python manage.py loaddata $(import_file)
## docker-compose API
api_build:
@docker-compose -f $(COMPOSE_FILE_API) --compatibility build
@docker tag $(IMAGE_TAG) $(TAG_LATEST)
api_up:
@docker-compose -f $(COMPOSE_FILE_API) --compatibility up -d
api_run:
@docker-compose -f $(COMPOSE_FILE_API) --compatibility up
api_logs:
@docker-compose -f $(COMPOSE_FILE_API) --compatibility logs -f
api_stop:
@docker-compose -f $(COMPOSE_FILE_API) --compatibility stop
api_ps:
@docker-compose -f $(COMPOSE_FILE_API) --compatibility ps
api_rm:
@docker-compose -f $(COMPOSE_FILE_API) --compatibility rm -f
api_exec_shell:
@docker-compose -f $(COMPOSE_FILE_API) --compatibility exec fi_admin_api sh
api_exec_collectstatic:
@docker-compose -f $(COMPOSE_FILE_API) --compatibility exec -T fi_admin_api python manage.py collectstatic --noinput
api_exec_webserver:
@docker-compose -f $(COMPOSE_FILE_API) --compatibility exec webserver sh
api_make_test:
@docker-compose -f $(COMPOSE_FILE_API) --compatibility exec -T fi_admin_api make test
## docker-compose prod
prod_build:
@docker-compose --compatibility build
@docker tag $(IMAGE_TAG) $(TAG_LATEST)
prod_up:
@docker-compose --compatibility up -d
prod_run:
@docker-compose --compatibility up
prod_logs:
@docker-compose --compatibility logs -f
prod_stop:
@docker-compose --compatibility stop
prod_ps:
@docker-compose --compatibility ps
prod_rm:
@docker-compose --compatibility rm -f
prod_list_images:
@docker images $(IMAGE_NAME}
prod_rollback:
@echo '*** ROLLBACK TO VERSION $(APP_VERSION) ***'
@docker-compose --compatibility stop
@docker-compose --compatibility up -d
prod_exec_shell:
@docker-compose --compatibility exec fi_admin sh
prod_exec_collectstatic:
@docker-compose --compatibility exec -T fi_admin python manage.py collectstatic --noinput
prod_import:
@docker-compose --compatibility exec -T fi_admin python manage.py loaddata $(import_file)
prod_exec_webserver:
@docker-compose --compatibility exec webserver sh
prod_make_test:
@docker-compose --compatibility exec -T fi_admin make test