diff --git a/ExerciseChecker/.gitlab-ci/00_vars.yml b/ExerciseChecker/.gitlab-ci/00_vars.yml
index 46cb27b058b7ab53199e24bc6288172dcdf94417..1fcea071b2c22d5d88c35c4a42f7515a42949095 100644
--- a/ExerciseChecker/.gitlab-ci/00_vars.yml
+++ b/ExerciseChecker/.gitlab-ci/00_vars.yml
@@ -6,9 +6,14 @@ variables:
     DOCKER_TLS_CERTDIR:
     DOCKER_DRIVER: overlay2
 
+    DOCKER_REGISTRY: docker.io
+    DOCKER_REGISTRY_USER: dojohesso
+    DOCKER_REGISTRY_IMAGE: dojohesso/dojo_exercise_checker
+
     PROJECT_NAME: DojoExerciseChecker
 
     VERSION_DEV_SUFFIX: '-dev'
+    VERSION_TEST_SUFFIX: '-test'
 
     GITLAB_API_PROJECT_URL: ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}
 
diff --git a/ExerciseChecker/.gitlab-ci/01_functions.yml b/ExerciseChecker/.gitlab-ci/01_functions.yml
index f0675a514e20658a7d87932f65073487c89cc028..2b482cb0d5285cb7bcca90b181b42033304c4d50 100644
--- a/ExerciseChecker/.gitlab-ci/01_functions.yml
+++ b/ExerciseChecker/.gitlab-ci/01_functions.yml
@@ -1,7 +1,18 @@
-.get_version:
+.get_vars:
     script:
         - IS_DEV=$([[ $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH ]] && echo false || echo true)
-        - VERSION=$(jq -r .version $PROJECT_FOLDER/package.json)$([[ $IS_DEV == true ]] && echo $VERSION_DEV_SUFFIX || echo '')
+        - IS_TEST=$([[ $CI_COMMIT_BRANCH == "test" ]] && echo false || echo true)
+        - |
+            if [ $IS_TEST == "true" ]; then
+                DOCKER_REGISTRY_USER=dojohessotest
+                DOCKER_REGISTRY_IMAGE=dojohesso/test-dojo_exercise_checker
+                DOCKER_REGISTRY_PASSWORD=$DOCKER_TEST_REGISTRY_PASSWORD
+            fi
+
+
+.get_version:
+    script:
+        - VERSION=$(jq -r .version $PROJECT_FOLDER/package.json)$([[ $IS_DEV == true ]] && echo $VERSION_DEV_SUFFIX || echo '')$([[ $IS_TEST == true ]] && echo $VERSION_TEST_SUFFIX || echo '')
 
 
 .get_packages_url:
diff --git a/ExerciseChecker/.gitlab-ci/03_stages.yml b/ExerciseChecker/.gitlab-ci/03_stages.yml
index 198b85a3eeb84675229f3459f1457de2b9c2f2f9..a996ecac4ea23db0640d1c6767b1780748aeccbe 100644
--- a/ExerciseChecker/.gitlab-ci/03_stages.yml
+++ b/ExerciseChecker/.gitlab-ci/03_stages.yml
@@ -4,4 +4,7 @@ stages:
     - build
     - clean
     - upload
-    - release
\ No newline at end of file
+    - release
+
+before_script:
+    - !reference [ .get_vars, script ]
\ No newline at end of file
diff --git a/ExerciseChecker/.gitlab-ci/05_stageTest.yml b/ExerciseChecker/.gitlab-ci/05_stageTest.yml
index a1b564295624124e216ae7bba18ac6950590eccb..ccb013bcc6113315e83da6b2190787d73ee11903 100644
--- a/ExerciseChecker/.gitlab-ci/05_stageTest.yml
+++ b/ExerciseChecker/.gitlab-ci/05_stageTest.yml
@@ -9,4 +9,4 @@ test:build:
     script:
         - !reference [ .build_script, script ]
     rules:
-        -   if: '$CI_COMMIT_TAG =~ "/^$/" && $CI_COMMIT_REF_PROTECTED != "true"'
\ No newline at end of file
+        -   if: '$CI_COMMIT_TAG =~ "/^$/" && $CI_COMMIT_REF_PROTECTED != "true" && $CI_COMMIT_BRANCH != "test"'
\ No newline at end of file
diff --git a/ExerciseChecker/.gitlab-ci/06_stageBuild.yml b/ExerciseChecker/.gitlab-ci/06_stageBuild.yml
index e2acdd1042c77d84b45e63e3b8b2cdaf217d92bc..a0c6ca411fd86c59aa49fd601563bd262e3ef89f 100644
--- a/ExerciseChecker/.gitlab-ci/06_stageBuild.yml
+++ b/ExerciseChecker/.gitlab-ci/06_stageBuild.yml
@@ -12,4 +12,4 @@ build:version:
         # Here docker buildx can use cached images created in previous step
         - docker buildx build --platform $DOCKER_PLATFORMS --file $DOCKERFILE --push --tag $CONTAINER_IMAGE .
     rules:
-        -   if: '$CI_COMMIT_REF_PROTECTED == "true"'
\ No newline at end of file
+        -   if: '$CI_COMMIT_REF_PROTECTED == "true" || $CI_COMMIT_BRANCH == "test"'
\ No newline at end of file