diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d8ce84af2267e13d76728bcd33a8ad88c86a3fff..144bc46c8bf615f873d6040e9523a90664f115a8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -73,3 +73,26 @@ Publish spec:
     name: "${CI_PROJECT_NAME}_${CI_COMMIT_TAG}"
     paths:
       - "${CI_PROJECT_NAME}_${CI_COMMIT_TAG}.docx"
+
+pages:
+  stage: publication
+  only:
+    - tags
+  dependencies:
+    - Publish spec
+  script:
+    # Get the previous GitLab Pages content
+    - set +e
+    - curl --fail "$CI_PAGES_URL/content.zip" -o "content.zip"
+    - if [ -e "content.zip" ]; then unzip "content.zip"; rm "content.zip"; fi
+    - set -e
+    # Add/update content
+    - mkdir -p "public/$CI_COMMIT_REF_NAME"
+    - cp -r -f "${CI_PROJECT_NAME}_${CI_COMMIT_TAG}.docx" public/$CI_COMMIT_REF_NAME
+    - echo "public/$CI_COMMIT_REF_NAME" >> "public/index.html"
+    # Zip the content and publish the zip again
+    - zip -r "content.zip" "public"
+    - mv "content.zip" "public/"
+  artifacts:
+    paths:
+      - public
\ No newline at end of file