diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 7b706d2bdecc03ad48f4455b6b18448f04a29efe..f4ccb88320e833286d1850411add658b2fd2afd4 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -12,11 +12,6 @@ variables:
 services:
   - docker:dind
 
-cache:
-  paths:
-    - .m2/repository/
-    - target/
-
 stages:
   - build
   - test
@@ -27,23 +22,11 @@ stages:
     - export PROJECT_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout $MAVEN_CLI_OPTS | cut -d'-' -f1)
     - export PROJECT_ARTIFACTID=$(mvn help:evaluate -Dexpression=project.artifactId -q -DforceStdout $MAVEN_CLI_OPTS)
 
-build:
-  stage: build
-  script:
-    - mvn clean compile $MAVEN_CLI_OPTS --update-snapshots
-  artifacts:
-    paths:
-      - target/*.jar
-
-test:
-  stage: test
-  script:
-    - mvn test $MAVEN_CLI_OPTS
-
-verify:
-  stage: test
-  script:
-    - mvn verify $MAVEN_CLI_OPTS
+# Maven Build, Test and Verify
+include:
+  - component: $CI_SERVER_FQDN/ozg-cloud/ci-components/maven_build@main
+    inputs:
+      maven_cli_opts: $MAVEN_CLI_OPTS
 
 push-merge-request-snapshot-nexus:
   stage: publish