diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index de41f6c623745ee0591eec84a7cc819941d14e1f..78b7247c18f67eb9df4697d9a7b046a8af4f003b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,24 +4,38 @@ variables:
   STORAGE_DRIVER: vfs
   BUILDAH_FORMAT: docker
   BUILDAH_ISOLATION: chroot
-
-default:
-  before_script:
-    - buildah login -u "$CI_REGISTRY_USER" --password $CI_REGISTRY_PASSWORD $CI_REGISTRY
+  GIT_SUBMODULE_STRATEGY: recursive
 
 stages:
   - build
   - deploy
 
-build:
+build docker image:
   stage: build
   script:
     - buildah bud -t teckids.org:latest
   interruptible: true
   retry: 1
 
-deploy:
+build pages:
+  stage: build
+  before_script:
+  - apk add --update-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/community/ zola
+  - apk add yarn
+  - yarn install
+  script:
+  - zola build
+  - cp _redirects public/
+  artifacts:
+    paths:
+    - public/
+  only:
+  - master
+
+push docker image:
   stage: deploy
+  before_script:
+    - buildah login -u "$CI_REGISTRY_USER" --password $CI_REGISTRY_PASSWORD $CI_REGISTRY
   script:
     - buildah push teckids.org:latest