diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6a8bd559e8b3f0fecdda25f40e0323e02cdb5ed9..10a5febbf8a7cba342497e1cf47ce97e258ad9da 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,7 +4,7 @@ stages:
   - release
 
 variables:
-  CONTAINER_TEST_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
+  CONTAINER_TEST_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA
   CONTAINER_RELEASE_IMAGE: $CI_REGISTRY_IMAGE:latest
 
 before_script:
@@ -12,11 +12,9 @@ before_script:
 
 build-except-master:
   stage: build
-  variables:
-    IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
   script:
-    - docker build -t $IMAGE_TAG .
-    - docker push $IMAGE_TAG
+    - docker build -t $CONTAINER_TEST_IMAGE .
+    - docker push $CONTAINER_TEST_IMAGE
   only:
     - branches
   except:
@@ -27,6 +25,10 @@ test:
   script:
     - docker pull $CONTAINER_TEST_IMAGE
     - docker run $CONTAINER_TEST_IMAGE /bin/sh
+  only:
+    - branches
+  except:
+    - master
 
 release-image:
   stage: release