diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4e62d0250a01739ef63d3eb2c26880fb4334731c..86d069bee56e5ff700c3adba958d83bf4b7f8d26 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -18,7 +18,7 @@ variables:
 ###################
 .webapp: &webapp
   image: alpine:3.14
-  stage: deploy_deb
+  stage: deploy
   script:
     - source $VARIABLES_FILE
     - 'apk add --no-cache bash'
@@ -40,9 +40,10 @@ variables:
   - crane auth login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
 
 stages:
-  - build_version
-  - deploy_java
-  - deploy_deb
+  - prepare
+  - test
+  - build
+  - deploy
 
 # Cache downloaded dependencies and plugins between builds.
 # To keep cache across branches add 'key: "$CI_JOB_NAME"'
@@ -54,7 +55,7 @@ cache:
 # Get the project version from main POM file and store it to artifact.
 get_version:
   image: maven:3.8.3-jdk-8
-  stage: build_version
+  stage: prepare
   script:
     - 'PVERSION=$(mvn org.apache.maven.plugins:maven-help-plugin:3.1.1:evaluate -Dexpression=project.version -q -DforceStdout)'
     - echo "export PVERSION=$PVERSION" > $VARIABLES_FILE
@@ -67,13 +68,21 @@ get_version:
     paths:
       - $VARIABLES_FILE
 
+# run junit tests
+test:
+  stage: test
+  image: maven:3.8.3-jdk-8
+  script:
+    - mvn $MAVEN_OPTS $MAVEN_CLI_OPTS $MAVEN_DEPLOY_OPTS -U clean test
+
+
 # Build and deploy all the JARs to GWDG Nexus, and build all the DEBs and store DEBs to artifacts.
 build_and_deploy:
   image: maven:3.8.3-jdk-8
   only:
     - develop
 #    - main
-  stage: deploy_java
+  stage: build
   script:
     - source $VARIABLES_FILE
     - git submodule update --recursive --init
@@ -89,7 +98,7 @@ build_container_image:
   image:
     name: gcr.io/kaniko-project/executor:debug
     entrypoint: [""]
-  stage: deploy_java
+  stage: build
   before_script:
     - *kaniko-setup
   script:
@@ -102,7 +111,7 @@ tag_container_image:
   image:
     name: gcr.io/go-containerregistry/crane:debug
     entrypoint: [""]
-  stage: deploy_deb
+  stage: deploy
   before_script:
     - *crane-setup
   script: