diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 29711cdc2e7edda373b0ac920016b6625322db0d..7e20566bcadb1c22d8888716cecde0a3acde28fc 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -17,13 +17,17 @@ build-my-base:
     - docker pull "$CI_REGISTRY_IMAGE/main:latest" || true
     # pull the latest build of this branch
     - docker pull "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG:latest" || true
+    # pull the latest build of this stage of this branch
+    - docker pull "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG/${STAGE_NAME}:latest" || true
     # building
     - docker build
       --tag "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG/${STAGE_NAME}:$CI_COMMIT_SHA"
+      --tag "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG/${STAGE_NAME}:latest"
       --file Dockerfile
       --target ${STAGE_NAME}
       ./
     - docker push "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG/${STAGE_NAME}:$CI_COMMIT_SHA"
+    - docker push "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG/${STAGE_NAME}:latest"