diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 775b148782d1e8e310b76cd0edd2b83387ab803f..8d25d7fd3813a7ac554b1aad3b8febdcfdd6fd21 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -26,6 +26,8 @@ build:
     paths:
       - build/
     expire_in: 30 days
+  rules:
+    - when: always
 
 upload:review:
   stage: upload
@@ -35,6 +37,8 @@ upload:review:
     on_stop: stop:review
     auto_stop_in: 2 week
     url: https://docs.fitko.de/preview/fit-connect/$CI_COMMIT_REF_SLUG
+  needs:
+    - build
   rules:
     - if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH
   before_script:
@@ -48,6 +52,8 @@ upload:production:
   environment:
     name: production
     url: https://docs.fitko.de/fit-connect/
+  needs:
+    - build
   rules:
     - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
   before_script:
@@ -61,6 +67,8 @@ stop:review:
   environment:
     name: review/$CI_COMMIT_REF_NAME
     action: stop
+  needs:
+    - upload:review
   rules:
     - if: $CI_MERGE_REQUEST_ID
       when: manual