diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 946583834720beb046ae9fee5259d5290fc49dbd..cb845d46390c8da035bb58b5a84dd287c88abb5a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -28,7 +28,7 @@ include:
       - if: '$CI_COMMIT_REF_NAME != "main" && $CI_COMMIT_REF_NAME != "develop" && $CI_COMMIT_REF_PROTECTED == "false"'
 
 
-docker_build:
+docker_build_api:
   extends: .default
   stage: build
   image:
@@ -41,19 +41,42 @@ docker_build:
         echo "Pushing Docker image with tag 'latest'"
         export DOCKER_TAG=latest
       fi
+    - |
+      if [ $CI_COMMIT_REF_PROTECTED == "false" ]; then
+        echo "Setting env variable KANIKO_NO_PUSH to true"
+        export KANIKO_NO_PUSH=true
+      fi
     - /kaniko/executor --context "${CI_PROJECT_DIR}/QoDProvisioning/QoDProvisioningAPI/API" --dockerfile "${CI_PROJECT_DIR}/QoDProvisioning/QoDProvisioningAPI/API/Dockerfile" --destination "${CI_REGISTRY_IMAGE}.qodprovisioning.api:$APP_VERSION"
-    - /kaniko/executor --context "${CI_PROJECT_DIR}/QoDProvisioning/QoDProvisioningAPI/Operator" --dockerfile "${CI_PROJECT_DIR}/QoDProvisioning/QoDProvisioningAPI/Operator/Dockerfile" --destination "${CI_REGISTRY_IMAGE}.qodprovisioning.operator:$APP_VERSION"
-  rules:
-    - if: '$CI_COMMIT_REF_PROTECTED == "true"'
 
-docker_build_dry_run:
+docker_build_operator:
   extends: .default
   stage: build
   image:
     name: gcr.io/kaniko-project/executor:debug
     entrypoint: [""]
   script:
-    - /kaniko/executor --context "${CI_PROJECT_DIR}/QoDProvisioning/QoDProvisioningAPI/API" --dockerfile "${CI_PROJECT_DIR}/QoDProvisioning/QoDProvisioningAPI/API/Dockerfile" --destination "${CI_REGISTRY_IMAGE}.qodprovisioning.api:$APP_VERSION" --no-push
-    - /kaniko/executor --context "${CI_PROJECT_DIR}/QoDProvisioning/QoDProvisioningAPI/Operator" --dockerfile "${CI_PROJECT_DIR}/QoDProvisioning/QoDProvisioningAPI/Operator/Dockerfile" --destination "${CI_REGISTRY_IMAGE}.qodprovisioning.operator:$APP_VERSION" --no-push
-  rules:
-      - if: '$CI_COMMIT_REF_PROTECTED == "false"'
+    - export DOCKER_TAG=$APP_VERSION
+    - |
+      if [ "$CI_COMMIT_REF_NAME" = "main" ]; then
+        echo "Pushing Docker image with tag 'latest'"
+        export DOCKER_TAG=latest
+      fi
+    - |
+      if [ $CI_COMMIT_REF_PROTECTED == "false" ]; then
+        echo "Setting env variable KANIKO_NO_PUSH to true"
+        export KANIKO_NO_PUSH=true
+      fi
+    - /kaniko/executor --context "${CI_PROJECT_DIR}/QoDProvisioning/QoDProvisioningAPI/Operator" --dockerfile "${CI_PROJECT_DIR}/QoDProvisioning/QoDProvisioningAPI/Operator/Dockerfile" --destination "${CI_REGISTRY_IMAGE}.qodprovisioning.operator:$APP_VERSION"
+
+
+# docker_build_dry_run:
+#   extends: .default
+#   stage: build
+#   image:
+#     name: gcr.io/kaniko-project/executor:debug
+#     entrypoint: [""]
+#   script:
+#     - /kaniko/executor --context "${CI_PROJECT_DIR}/QoDProvisioning/QoDProvisioningAPI/API" --dockerfile "${CI_PROJECT_DIR}/QoDProvisioning/QoDProvisioningAPI/API/Dockerfile" --destination "${CI_REGISTRY_IMAGE}.qodprovisioning.api:$APP_VERSION" --no-push
+#     - /kaniko/executor --context "${CI_PROJECT_DIR}/QoDProvisioning/QoDProvisioningAPI/Operator" --dockerfile "${CI_PROJECT_DIR}/QoDProvisioning/QoDProvisioningAPI/Operator/Dockerfile" --destination "${CI_REGISTRY_IMAGE}.qodprovisioning.operator:$APP_VERSION" --no-push
+#   rules:
+#       - if: '$CI_COMMIT_REF_PROTECTED == "false"'