feat: Cache prod _build from docker step

This commit is contained in:
Robert Prehn 2021-03-26 16:29:18 -05:00
parent d310362f14
commit 96924e82c9
3 changed files with 10 additions and 1 deletions

View file

@ -1,4 +1,3 @@
_build
cover cover
.elixir_ls .elixir_ls
*.dump *.dump

View file

@ -28,6 +28,7 @@ fetch_application_dependencies:
- mix local.hex --force - mix local.hex --force
- mix local.rebar --force - mix local.rebar --force
- mix deps.get - mix deps.get
- mix deps.compile
artifacts: artifacts:
paths: paths:
- deps/phoenix - deps/phoenix
@ -82,12 +83,20 @@ build_image_for_commit:
- master - master
services: services:
- name: docker:20.10-dind - name: docker:20.10-dind
cache:
key:
files:
- mix.lock
paths:
- _build/
- deps/
script: script:
- docker login "https://${CI_REGISTRY}" -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD - docker login "https://${CI_REGISTRY}" -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD
- docker pull $CI_REGISTRY_IMAGE:latest || true - docker pull $CI_REGISTRY_IMAGE:latest || true
- export DOCKER_BUILDKIT=1 - export DOCKER_BUILDKIT=1
- docker build --cache-from $CI_REGISTRY_IMAGE:latest -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA --build-arg BUILDKIT_INLINE_CACHE=1 . - docker build --cache-from $CI_REGISTRY_IMAGE:latest -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA --build-arg BUILDKIT_INLINE_CACHE=1 .
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
- docker cp `docker create $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA`:/root/app/_build/prod _build
deploy_to_tags: deploy_to_tags:
stage: deploy_tags stage: deploy_tags

View file

@ -25,6 +25,7 @@ ADD ./apps/app/mix.exs /root/app/apps/app/
ADD ./apps/content/mix.exs /root/app/apps/content/ ADD ./apps/content/mix.exs /root/app/apps/content/
ADD ./apps/core/mix.exs /root/app/apps/core/ ADD ./apps/core/mix.exs /root/app/apps/core/
ADD ./deps /root/app/deps ADD ./deps /root/app/deps
ADD ./_build /root/app/_build
RUN mix deps.get RUN mix deps.get
ADD ./script /root/app/script ADD ./script /root/app/script