diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 121369080fd7500ce23ba0106eefa271d894749a..412dfe2222a2270b99e04f45ae6f7cc1a0aaf00a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -12,16 +12,23 @@ before_script:
 
 build_image:
   stage: build
-  image: docker:18.09.7
+  image: 'docker:18.09.7'
   only:
     - master
   services:
-    - docker:18.09.7-dind
+    - 'docker:18.09.7-dind'
+  variables:
+    DOCKERHUB_NAME: clarinpl/$CI_PROJECT_NAME
   before_script:
     - ''
   script:
-    - docker build -t clarinpl/morphodita .
+    - docker build -t $DOCKERHUB_NAME .
     - echo $DOCKER_PASSWORD > pass.txt
     - cat pass.txt | docker login --username $DOCKER_USERNAME --password-stdin
     - rm pass.txt
-    - docker push clarinpl/morphodita
+    - docker push $DOCKERHUB_NAME
+    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
+    - docker image tag $DOCKERHUB_NAME $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
+    - docker image tag $DOCKERHUB_NAME $CI_REGISTRY_IMAGE:latest
+    - docker push $CI_REGISTRY_IMAGE
+