diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8656a68940594e7484a13529eedaab2940671310..a5ca2d3c9cf936e6f5bf2fc1c64623a605014f40 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,7 +1,15 @@
-build_image:
-  script:
-    - docker build -t gitlab-registry.cern.ch/chweber/zx_postprocessingplotter:zx_limit_container . 
-    - docker push gitlab-registry.cern.ch/chweber/zx_postprocessingplotter:zx_limit_container_test_v02
+stages:
+    - build
+    - pipeline
+
+build zx_postprocessingplotter:
+    image: 
+        name: gitlab-registry.cern.ch/ci-tools/docker-image-builder
+        entrypoint: [""]
+    stage: build
+    variables: 
+        GIT_SUBMODULE_STRATEGY: recursive
+    script:
+        - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
+        - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
 
-  tags:
-    - docker-image-build # we need a ci runner that has the special docker image building ability