diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f67d84fdd1e0166f1da6cf5efdfc6db813138dcd..e566f1006a4244e4b94a30483ec87ea5c7a7e55a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,7 +4,6 @@ stages:
   - prepare
   - build
   - deploy
-  - pages
 
 version:
   image: python:3.7-stretch
@@ -31,8 +30,8 @@ prepare:
     - beta
 
 
-.deploy:firefox:
-  stage: deploy
+.build:firefox:
+  stage: build
   image: node:lts-buster
   cache:
     paths:
@@ -49,12 +48,12 @@ prepare:
       - safelinks-cleaner-firefox.xpi
 
 
-deploy:firefox:beta:
-  extends: .deploy:firefox
+build:firefox:beta:
+  extends: .build:firefox
   variables:
     CHANNEL: unlisted
   rules:
-    - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "beta"'
+    - if: '($CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "beta") || $CI_COMMIT_MESSAGE =~ #force-build'
       changes:
         - shared/**
         - firefox/**
@@ -63,12 +62,12 @@ deploy:firefox:beta:
 
 
 
-deploy:firefox:master:
-  extends: .deploy:firefox
+build:firefox:master:
+  extends: .build:firefox
   variables:
     CHANNEL: listed
   rules:
-    - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "master"'
+    - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "master" || $CI_COMMIT_MESSAGE =~ #force-build'
       changes:
         - shared/**
         - firefox/**
@@ -76,8 +75,8 @@ deploy:firefox:master:
     - when: never
 
 
-deploy:thunderbird:beta:
-  stage: deploy
+build:thunderbird:beta:
+  stage: build
   image: python:3.7-stretch
   script:
     - apt-get -y update
@@ -96,7 +95,7 @@ deploy:thunderbird:beta:
     - when: never
 
 pages:
-  stage: pages
+  stage: deploy
   script:
     - cp -r site .public
     - sed -i -e "s/%BUILDDATE%/$(date +'%Y-%m-%d %H:%M')/g" .public/index.html
@@ -105,8 +104,14 @@ pages:
     - mv .public public
     - ls -lr public
   needs:
-    - job: deploy:thunderbird:beta
-    - job: deploy:firefox:beta
+    - project: $CI_PROJECT_PATH
+      job: build:thunderbird:beta
+      ref: $CI_COMMIT_REF_NAME
+      artifacts: true
+    - project: $CI_PROJECT_PATH
+      job: build:firefox:beta
+      ref: $CI_COMMIT_REF_NAME
+      artifacts: true
   artifacts:
     paths:
       - public/