diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 810481c9573b507eb6bf2a949b720dbc949f7735..399e6d7d049fc9aa9e44d9c69ed804df09ff973d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -20,15 +20,19 @@ build:
   stage: build
   script:
     - ./gradlew --console=plain --no-daemon assemble
+    - cp -a src/gen java_files/
   artifacts:
     paths:
-      - "src/gen"
+      - "java_files/"
 
 ragdoc_build:
   image: "git-st.inf.tu-dresden.de:4567/jastadd/ragdoc-builder"
   stage: ragdoc_build
+  dependencies:
+    - build
   script:
-    - data/ src/
+    - JAVA_FILES=$(find java_files/ -name '*.java')
+    - ./start-build.sh -d data/ $JAVA_FILES
   artifacts:
     paths:
       - "data/"
@@ -36,8 +40,11 @@ ragdoc_build:
 ragdoc_view:
   image: "git-st.inf.tu-dresden.de:4567/jastadd/ragdoc-view:relations"
   stage: ragdoc_view
+  dependencies:
+    - ragdoc_build
   script:
-    - .
+    - ( cd src/ && ln -s ../data )
+    - ./build-view.sh
   artifacts:
     paths:
       - "dist/"
@@ -45,6 +52,8 @@ ragdoc_view:
 pages:
   image: python:3.7-alpine
   stage: publish
+  dependencies:
+    - ragdoc_view
   before_script:
     - pip install -U sphinx sphinx-rtd-theme recommonmark sphinxemoji sphinx-markdown-tables
   script: