Split Dockerfile build steps for better layer caching

This commit is contained in:
Graham McIntire 2026-02-20 10:18:48 -06:00
parent 84e883701d
commit f1ead99e24
No known key found for this signature in database

View file

@ -27,17 +27,19 @@ COPY mix.exs mix.lock ./
RUN mix deps.get --only $MIX_ENV && \
mix deps.compile
# Copy and compile application
# Copy config and application code, then compile
COPY config config
COPY lib lib
RUN mix compile
# Copy assets and static files, then deploy assets
COPY assets assets
COPY priv priv
COPY rel rel
RUN mix assets.deploy
# Build application
RUN mix compile && \
mix assets.deploy && \
mix release
# Copy release config and build release
COPY rel rel
RUN mix release
# Runtime stage
FROM ${RUNNER_IMAGE}