forked from SINDAN/sindan-docker
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
71 lines (60 loc) · 1.88 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
BUILDKIT_DOCKER_BUILD = DOCKER_BUILDKIT=1 docker build
SINDAN_FLUENTD_TAG = sindan/fluentd:1.3.0
SINDAN_VISUALIZATION_TAG = sindan/visualization:1.3.0
.PHONY: all
all: run
.PHONY: lint
lint: fluentd/Dockerfile visualization/Dockerfile
docker run --rm -i hadolint/hadolint < fluentd/Dockerfile || true
docker run --rm -i hadolint/hadolint < visualization/Dockerfile || true
.PHONY: build
build:
git submodule update --init --recursive
docker-compose pull mysql
$(BUILDKIT_DOCKER_BUILD) fluentd --no-cache -t $(SINDAN_FLUENTD_TAG)
$(BUILDKIT_DOCKER_BUILD) visualization --no-cache -t $(SINDAN_VISUALIZATION_TAG) \
--build-arg BUILDTIME_RAILS_SECRETKEY_FILE=/run/secrets/rails_secret_key_base \
--build-arg BUILDTIME_DB_PASSWORD_FILE=/run/secrets/db_password \
--secret id=rails_secret,src=.secrets/rails_secret_key_base.txt \
--secret id=db_pass,src=.secrets/db_password.txt
.PHONY: push
push:
docker push $(SINDAN_FLUENTD_TAG)
docker push $(SINDAN_VISUALIZATION_TAG)
.PHONY: pull
pull:
docker pull $(SINDAN_FLUENTD_TAG)
docker pull $(SINDAN_VISUALIZATION_TAG)
.PHONY: init
init:
docker-compose up -d mysql
bash -c \
'while true; do \
docker-compose run visualization bundle exec rails db:migrate; \
(( $$? == 0 )) && break; \
echo -e "\n\nRetrying in 5 seconds"; sleep 5; echo; \
done'
docker-compose run visualization bundle exec rails db:seed
docker-compose stop mysql visualization
docker-compose rm -f
.PHONY: run
run:
docker-compose up -d
.PHONY: log
log:
docker-compose logs -f
.PHONY: stop
stop:
docker-compose stop
.PHONY: clean
clean: stop
docker-compose rm -f
.PHONY: destroy
destroy:
docker-compose kill
docker-compose rm -f
docker volume rm -f sindan-docker_fluentd-data
docker volume rm -f sindan-docker_mysql-data
docker volume rm -f sindan-docker_visualization-data
docker rmi -f $(SINDAN_FLUENTD_TAG)
docker rmi -f $(SINDAN_VISUALIZATION_TAG)