forked from observerio/observer-server
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
77 lines (60 loc) · 1.92 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
NAME = api
DOCKER_PRIVATE_HOST=docker-registry.rubyforce.co:5000
DOCKER_COMPOSE=pipenv run docker-compose
init:
(docker network create game-dev || true)
pip install --user pipenv
pipenv install
.PHONY: init
remove: stop
$(DOCKER_COMPOSE) rm --force
.PHONY: remove
build: stop
$(DOCKER_COMPOSE) up -d
.PHONY: build
restart.api:
$(DOCKER_COMPOSE) restart api && $(DOCKER_COMPOSE) logs -f --tail=1 api
.PHONY: restart.api
restart.sim:
$(DOCKER_COMPOSE) restart simulate && $(DOCKER_COMPOSE) logs -f --tail=1 simulate
.PHONY: restart.sim
rebuild: remove build
stop:
$(DOCKER_COMPOSE) stop
.PHONY: stop
test:
docker exec -ti `$(DOCKER_COMPOSE) ps -q $(NAME)` /bin/ash -c "mix test $(TEST_CASE)"
.PHONY: test
container.test:
mix dogma && mix test
.PHONY: container.test
console:
docker exec -ti `$(DOCKER_COMPOSE) ps -q $(NAME)` /bin/ash
.PHONY: console
server:
/bin/sh make.sh server
.PHONY: server
simulate:
/bin/sh make.sh simulate
.PHONY: simulate
watch.server:
watchman-make -p 'lib/**/*.ex' 'test/**/*.exs' 'config/*.exs' 'mix.exs' -t server
.PHONY: watch.server
watch.test:
$(DOCKER_COMPOSE) exec -ti `$(DOCKER_COMPOSE) ps -q $(NAME)` /bin/ash -c "watchman-make -p 'lib/**/*.ex' 'test/**/*.exs' 'config/*.exs' 'mix.exs' -t container.test"
.PHONY: watch.test
# should rebuild image with api erlang app inside and then push it to our
# docker private registry.
api.release:
mix docker.build && mix docker.release && \
docker tag observer_api:release docker-registry.rubyforce.co:5000/observer/observer_api:$(VERSION) && \
docker push $(DOCKER_PRIVATE_HOST)/observer/observer_api:$(VERSION) && \
docker tag observer_api:release docker-registry.rubyforce.co:5000/observer/observer_api:latest && \
docker push $(DOCKER_PRIVATE_HOST)/observer/observer_api:latest
kubectl apply -f deployment/app-deploy/api
.PHONY: api.release
web.release:
cd web/ && make release
.PHONY: web.release
release: api.release web.release
.PHONY: release