-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
52 lines (38 loc) · 1.34 KB
/
Makefile
File metadata and controls
52 lines (38 loc) · 1.34 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
IMAGE_TAG := nicolkill/dbb
IMAGE_TAG_DEV := nicolkill/dbb_dev
REVISION := $(shell git rev-parse --short HEAD)
RUN_STANDARD := docker run --rm -v `pwd`:/app -w /app hexpm/elixir:1.19.5-erlang-28.0.1-alpine-3.23.3
all: build image
up:
docker compose up
build:
$(RUN_STANDARD) sh -c 'apk update && apk add --no-cache git build-base linux-headers \
&& echo "#include <unistd.h>" > /usr/include/sys/unistd.h \
&& mix do local.rebar --force, local.hex --force, \
deps.get, \
deps.compile --force, \
compile --plt'
image:
docker build -f Dockerfile.dev -t ${IMAGE_TAG_DEV}:${REVISION} .
docker tag ${IMAGE_TAG_DEV}:${REVISION} ${IMAGE_TAG_DEV}:latest
testing:
docker compose exec app sh -c 'MIX_ENV=test mix test --timeout 3000'
iex:
docker compose exec app iex -S mix
bash:
docker compose exec app sh
routes:
docker compose exec app mix phx.routes
rollback:
docker compose exec app mix ecto.rollback
migrate:
docker compose exec app mix ecto.migrate
format:
docker compose exec app mix format
hub_image:
docker build --no-cache --build-arg MIX_ENV=prod -t ${IMAGE_TAG}:${REVISION} .
docker tag ${IMAGE_TAG}:${REVISION} ${IMAGE_TAG}:latest
user_seeds:
docker compose exec app mix run priv/repo/seeds.exs
seed:
mix dbb.seed 10