diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1951f0005235593fca42099c1557d5e697295fd0..a846c51130c43290a31cfef189cfd48021233cc6 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -31,7 +31,7 @@ build-analyse-service:
   image: python:3.9-slim
   stage: build-backend
   script:
-    - "mvn -f ./dbrepo-analyse-service/pom.xml clean test verify"
+    - "pip install -r ./dbrepo-analyse-service/requirements.txt"
 
 build-search-sync-agent:
   image: maven:3-openjdk-17
@@ -40,6 +40,25 @@ build-search-sync-agent:
     - "mvn -f ./dbrepo-metadata-service/pom.xml clean install -DskipTests"
     - "mvn -f ./dbrepo-search-sync-agent/pom.xml clean package -DskipTests"
 
+build-frontend:
+  image: node:14-alpine
+  stage: build-frontend
+  script:
+    - "yarn --cwd ./dbrepo-ui install --legacy-peer-deps"
+    - "yarn --cwd ./dbrepo-ui run build"
+
+build-docker:
+  image: docker:24-dind
+  stage: build-docker
+  needs:
+    - build-metadata-service
+    - build-analyse-service
+  script:
+    - cp .env.unix.example .env
+    - "docker build -t dbrepo-metadata-service:build --target build dbrepo-metadata-service"
+    - "docker build -t dbrepo-search-sync-agent:build --target build dbrepo-search-sync-agent"
+    - "docker compose build --parallel"
+
 test-metadata-service:
   stage: test-backend
   needs:
@@ -75,11 +94,13 @@ test-search-sync-agent:
   coverage: '/Total.*?([0-9]{1,3})%/'
 
 test-analyse-service:
+  image: python:3.9-slim
   stage: test-backend
   needs:
     - build-analyse-service
   script:
-    - "make test-analyse-service"
+    - "pip install -r ./dbrepo-analyse-service/requirements.txt"
+    - "cd ./dbrepo-analyse-service/ && coverage run -m pytest test/test_determine_dt.py test/test_determine_pk.py --junitxml=report.xml && coverage html && coverage report > ./coverage.txt"
     - "cat ./dbrepo-analyse-service/coverage.txt | grep -o 'TOTAL[^%]*%'"
   artifacts:
     when: always
@@ -108,21 +129,6 @@ test-frontend:
         path: ./dbrepo-ui/coverage/cobertura-coverage.xml
   coverage: '/TOTAL.*?([0-9]{1,3})%/'
 
-build-docker:
-  stage: build-docker
-  needs:
-    - build-metadata-service
-    - build-analyse-service
-  script:
-    - bash .scripts/docker-prune.sh
-    - cp .env.unix.example .env
-    - make build-docker
-
-build-frontend:
-  stage: build-frontend
-  script:
-    - make build-frontend
-
 scan-analyse-service:
   stage: scan-docker
   needs: