diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 12d9f4e1630a2d161ac8f87b4ee7f8043781d1fc..8c8e1cf0fccee5bcf004bf69800dfb7c81a2d29e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -32,6 +32,19 @@ build_and_push_latest_image:
     IMAGE_TAG: "latest"
   script:
     - |
+      docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD $DOCKER_REPOSITORY
+      docker build -t $DOCKER_REPOSITORY_LOCAL:$IMAGE_TAG .
+      docker push $DOCKER_REPOSITORY_LOCAL:$IMAGE_TAG
+      docker logout $DOCKER_REPOSITORY
+
+build_and_push_release_image:
+  stage: build
+  only:
+    - tags
+  script:
+    - |
+      export IMAGE_TAG=$(echo $CI_COMMIT_TAG | cut -c 2-)
+      docker image prune -f
       docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD $DOCKER_REPOSITORY
       docker build -t $DOCKER_REPOSITORY_LOCAL:$IMAGE_TAG .
       docker push $DOCKER_REPOSITORY_LOCAL:$IMAGE_TAG