diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a5d077a4a92ea955f45532d683b940e09e14b9eb..79b83de015af1072e28064f479b5467c1bf0f5bd 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -96,3 +96,24 @@ helm-lint:
     changes:
       - contrib/chart/**/*
   script: /usr/bin/helm lint contrib/charts/espresso
+
+pages:
+  stage: build
+  image: rustlang/rust:nightly
+  needs:
+    - rust-nightly
+  cache:
+    key: "$CI_COMMIT_REF_SLUG"
+    paths:
+      - cargo/
+      - target/
+    policy: pull
+  <<: *rust_template
+  script:
+    - cargo doc --no-deps
+    - rm -rf public
+    - mkdir public
+    - cp -R target/doc/* public
+  artifacts:
+    paths:
+    - public