diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 32a4f9361e5c663067445e4c370daf5dfda85804..882df3366d50e3f14017027cd970040eae2a66e3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -29,6 +29,8 @@ docker:
   tags: [dind]
   variables:
     IMAGE: "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG"
+  before_script:
+    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"
   script:
     - docker build --tag "$IMAGE" .
     - docker run --rm "$IMAGE" build
@@ -41,6 +43,8 @@ pages:
     - if: $CI_COMMIT_BRANCH == "master"
   variables:
     IMAGE: "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG"
+  before_script:
+    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"
   script:
     - docker run --rm -v "$PWD/src:/src/ro" -v "$PWD/public:/public" "$IMAGE" build
   artifacts: