diff --git a/.dockerignore b/.dockerignore index dbf33606..5cafddd8 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,4 +1,3 @@ -_build cover .elixir_ls *.dump diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1291b692..3653766c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -28,6 +28,7 @@ fetch_application_dependencies: - mix local.hex --force - mix local.rebar --force - mix deps.get + - mix deps.compile artifacts: paths: - deps/phoenix @@ -82,12 +83,20 @@ build_image_for_commit: - master services: - name: docker:20.10-dind + cache: + key: + files: + - mix.lock + paths: + - _build/ + - deps/ script: - docker login "https://${CI_REGISTRY}" -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD - docker pull $CI_REGISTRY_IMAGE:latest || true - 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 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: stage: deploy_tags diff --git a/Dockerfile b/Dockerfile index d422aa20..7ddaf709 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,6 +25,7 @@ ADD ./apps/app/mix.exs /root/app/apps/app/ ADD ./apps/content/mix.exs /root/app/apps/content/ ADD ./apps/core/mix.exs /root/app/apps/core/ ADD ./deps /root/app/deps +ADD ./_build /root/app/_build RUN mix deps.get ADD ./script /root/app/script