diff --git a/gitlab-ci.yml b/gitlab-ci.yml
index cab51c0971e8d15f1d96a6b24bc0c83eeb1dac7f..9fcea82031ed69bb480fd921e6b9357b2ba22c81 100644
--- a/gitlab-ci.yml
+++ b/gitlab-ci.yml
@@ -7,6 +7,10 @@ variables:
   DOCKER_TLS_CERTDIR: ""
   DOCKER_VERSION: 19.03.8
   #Docker version MUST match the version in the runner config.toml
+  DOCKER_HOST: tcp://docker:2376
+
+services:
+  - docker:19.03.8-dind
 
 create_readme:
   stage: create_readme
@@ -37,9 +41,11 @@ create_readme:
 build:
   stage: build
   image: docker:$DOCKER_VERSION
-  services:
-  - docker:$DOCKER_VERSION-dind
   script:
     - echo "Build stage started."
     - docker info
-    - docker build --network="host" -t $CI_PROJECT_NAME:latest .
+    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
+    - docker pull $CI_REGISTRY_IMAGE:latest || true
+    - docker build --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA --tag $CI_REGISTRY_IMAGE:latest .
+    - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
+    - docker push $CI_REGISTRY_IMAGE:latest
\ No newline at end of file