-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
95 lines (88 loc) · 2.76 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
.PHONY: help
SHELL := /bin/bash
MAKEFILE_PATH := ./Makefile
MAKEFILES_DIR := ./@bin/makefiles
MAKEFILES_VER := v0.2.17
define DOCKER_IMG_LIST
"ansible" \
"ansible-dev" \
"git-release" \
"leverage-cli-testing" \
"terraform-awscli-slim" \
"terraform-awscli-terratest-slim" \
"helmsman" \
"kaniko"
endef
help:
@echo 'Available Commands:'
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf " - \033[36m%-18s\033[0m %s\n", $$1, $$2}'
#==============================================================#
# INITIALIZATION #
#==============================================================#
init-makefiles: ## initialize makefiles
rm -rf ${MAKEFILES_DIR}
mkdir -p ${MAKEFILES_DIR}
git clone https://github.com/binbashar/le-dev-makefiles.git ${MAKEFILES_DIR} -q
cd ${MAKEFILES_DIR} && git checkout ${MAKEFILES_VER} -q
-include ${MAKEFILES_DIR}/circleci/circleci.mk
-include ${MAKEFILES_DIR}/release-mgmt/release.mk
#==============================================================#
# DOCKER | BUILD ALL IMAGES #
#==============================================================#
build-all: ## build all docker images
LIST=(${DOCKER_IMG_LIST});\
OLDIFS=$$IFS;\
IFS=',';\
for i in "$${LIST[@]}"; do\
set -- $$i;\
echo -----------------------;\
echo DOCKER IMG: $$1;\
echo -----------------------;\
cd $$1;\
make build;\
cd ..;\
echo -----------------------;\
echo "DOCKER BUILD DONE";\
echo "";\
done;\
IFS=$$OLDIFS
#==============================================================#
# DOCKER | TEST ALL IMAGES #
#==============================================================#
test-all: ## build all docker images
LIST=(${DOCKER_IMG_LIST});\
OLDIFS=$$IFS;\
IFS=',';\
for i in "$${LIST[@]}"; do\
set -- $$i;\
echo -----------------------;\
echo DOCKER IMG: $$1;\
echo -----------------------;\
cd $$1;\
make test;\
cd ..;\
echo -----------------------;\
echo "DOCKER TEST DONE";\
echo "";\
done;\
IFS=$$OLDIFS
#==============================================================#
# DOCKER | PUSH ALL IMAGES #
#==============================================================#
push-all: ## build all docker images
LIST=(${DOCKER_IMG_LIST});\
OLDIFS=$$IFS;\
IFS=',';\
for i in "$${LIST[@]}"; do\
set -- $$i;\
echo -----------------------;\
echo DOCKER IMG: $$1;\
echo -----------------------;\
cd $$1;\
make push;\
cd ..;\
echo -----------------------;\
echo "DOCKER PUSH DONE";\
echo "";\
done;\
IFS=$$OLDIFS