diff --git a/.gitignore b/.gitignore
index 585a870ab41053e4466ffc2c923c2da05c602eda..a4f26a9f747b765a054dd27f73738e2b9abf6c53 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,6 @@
+# Virtual environment
 pyvenv/
+venv/
+
+# Output files
+site/
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..8e91f3d8d84f8efe831773d6fe5c490d2356aa45
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,18 @@
+stages:
+  - build
+
+variables:
+  GIT_DEPTH: 1
+
+build:
+  image: python:3
+  stage: build
+  before_script:
+    - python3 -m pip install --user -U pip
+    - python3 -m pip install --user -I -r requirements.txt
+  script:
+    - python3 -m mkdocs build
+  artifacts:
+    expire_in: 1w
+    paths:
+      - site/