-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
103 lines (81 loc) · 2.63 KB
/
Makefile
File metadata and controls
103 lines (81 loc) · 2.63 KB
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
.PHONY: build deploy lint test functions help
.DEFAULT_GOAL := help
DOCKER_NETWORK = slides-docker4devs_network
PROYECT_NAME = slides-docker4devs
# Configuration.
SHELL = /bin/bash
ROOT_DIR = $(shell pwd)
MESSAGE="༼ つ ◕_◕ ༽つ"
MESSAGE_HAPPY="${MESSAGE} Happy Coding"
SCRIPT_DIR = $(ROOT_DIR)/script
# Bin scripts
BUILD = $(shell) $(SCRIPT_DIR)/build.sh
CLEAN = $(shell) $(SCRIPT_DIR)/clean.sh
DOCUMENTATION = $(shell) $(SCRIPT_DIR)/documentation.sh
DOWN = $(shell) $(SCRIPT_DIR)/down.sh
PYENV = $(shell) $(SCRIPT_DIR)/pyenv.sh
INSTALL = $(shell) $(SCRIPT_DIR)/install.sh
LIST = $(shell) $(SCRIPT_DIR)/list.sh
LINT = $(shell) $(SCRIPT_DIR)/lint.sh
TEST = $(shell) $(SCRIPT_DIR)/test.sh
STOP = $(shell) $(SCRIPT_DIR)/stop.sh
SETUP = $(shell) $(SCRIPT_DIR)/setup.sh
UP = $(shell) $(SCRIPT_DIR)/up.sh
build: ## Build docker container by env
make clean
@echo $(MESSAGE) "Building environment: ${env}"
$(BUILD) "${env}" && echo $(MESSAGE_HAPPY)
clean: ## clean Files compiled
$(CLEAN)
environment: ## Make environment for developer
$(PYENV)
documentation: ## Make Documentation
make clean
$(DOCUMENTATION)
down: ## remove containers docker by env
make clean
@echo $(MESSAGE) "Down Services Environment: ${env}"
$(DOWN) "${env}" && echo $(MESSAGE_HAPPY)
env: ## Show envs available
@echo $(MESSAGE) "Environments:"
@echo "dev"
@echo "test"
@echo "stage"
install: ## Install with var env Dependences
make clean
@echo $(MESSAGE) "Install environment: ${env}"
$(INSTALL) "${env}" && echo $(MESSAGE_HAPPY)
list: ## List of current active services by env
make clean
@echo $(MESSAGE) "List Services: ${env}"
$(LIST) "${env}" && echo $(MESSAGE_HAPPY)
lint: ## Clean files unnecesary
make clean
$(LINT)
test: ## make test
make clean
$(TEST)
up: ## Up application by env
make clean
make verify_network &> /dev/null
@echo $(MESSAGE) "Up Application environment: ${env}"
$(UP) "${env}" && echo $(MESSAGE_HAPPY)
restart: ## Reload services
@echo $(MESSAGE) "restart Application environment: ${env}"
docker-compose restart
ssh: ## Connect to container
docker exec -it $(CONTAINER) bash
stop: ## stop containers docker by env
make clean
@echo $(MESSAGE) "Stop Services: ${env}"
$(STOP) "${env}" && echo $(MESSAGE_HAPPY)
setup: ## Install dependences initial
make clean
$(SETUP)
verify_network: ## Verify network
@if [ -z $$(docker network ls | grep $(DOCKER_NETWORK) | awk '{print $$2}') ]; then\
(docker network create $(DOCKER_NETWORK));\
fi
help: ## Show help text
@echo $(MESSAGE) "Commands"
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-20s\033[0m %s\n", $$1, $$2}'