diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f2babfe09c45a85124e83cd89205ea936ed74c88..73149771587153a5b87b7d02e6ae029e4dafffc3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -22,7 +22,7 @@ pre-commit:
   script:
     - pre-commit run -a
 
-build:
+.build:
   image: alpine:3.15
   stage: build
 
@@ -34,9 +34,29 @@ build:
     - apk add --update zola git
     - git submodule update --init
 
+build-drafts:
+  extends: .build
+
+  script:
+    - zola build --base-url=/ --drafts
+
+  only:
+    - branches
+    - tags
+
+  except:
+    - master
+
+
+build-production:
+  extends: .build
+
   script:
     - zola build --base-url=/
 
+  only:
+    - master
+
 pages:
   image: alpine
   stage: deploy
@@ -48,6 +68,9 @@ pages:
   only:
     - master
 
+  dependencies:
+    - build-production
+
   script:
     # Gitlab exposes files from the public folder at the root of the project
     - 'true'
@@ -60,6 +83,8 @@ pages:
     - branches
   except:
     - master
+  dependencies:
+    - build-drafts
 
   environment:
     name: ${CI_COMMIT_REF_SLUG}