From 0717b9c3c482993b413c91f9e4c7cffdedaceb79 Mon Sep 17 00:00:00 2001 From: Izel Nakri Date: Sun, 1 Mar 2020 07:17:50 +0100 Subject: [PATCH] highly optimized elixir container builds --- Dockerfile | 20 ++++++++++++++++---- docker-compose.yaml | 5 ++--- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index 1985c629..aac0264a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,16 +1,28 @@ FROM "elixir:1.10.1-alpine" +ARG MIX_ENV=dev +ENV MIX_ENV=$MIX_ENV + WORKDIR /code/ -RUN mix local.hex --force && mix local.rebar --force +RUN echo "y" | mix local.hex --if-missing && echo "y" | mix local.rebar --if-missing + +ADD ["mix.lock", "mix.exs", "/code/"] + +RUN mix deps.get && MIX_ENV=test mix deps.compile && \ + MIX_ENV=$MIX_ENV mix deps.compile + +ADD ["config", "lib", "priv", "/code/"] + +RUN MIX_ENV=$MIX_ENV mix compile -COPY ["mix.lock", "mix.exs", "/code/"] +ADD ["test", "/code/"] -RUN mix deps.get +RUN MIX_ENV=test mix compile && MIX_ENV=$MIX_ENV mix compile ADD . /code/ -RUN mix compile +RUN MIX_ENV=test mix compile && MIX_ENV=$MIX_ENV mix compile CMD ["/bin/sh"] diff --git a/docker-compose.yaml b/docker-compose.yaml index b6b9db27..e62e5ff7 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -16,6 +16,8 @@ services: build: context: . dockerfile: Dockerfile + cache_from: + - inakri/paper_trail:$CIRCLE_BRANCH environment: POSTGRES_USER: $POSTGRES_USER POSTGRES_PASSWORD: $POSTGRES_PASSWORD @@ -35,6 +37,3 @@ networks: backend_network: driver: bridge -# cache_from: -# - $BASE_IMAGE -# - $BACKEND_IMAGE_CACHE