diff --git a/templates/docker_image_jobs.gitlab-ci.yml b/templates/docker_image_jobs.gitlab-ci.yml
index 60cfac33092608beef3fe399f5256c1b62dd2d16..d3727e4e671066d235ceabda4058baa66cb01ba2 100644
--- a/templates/docker_image_jobs.gitlab-ci.yml
+++ b/templates/docker_image_jobs.gitlab-ci.yml
@@ -36,3 +36,15 @@ variables:
     - echo "Attempting to cleanup an image $IMAGE_PATH using tag $IMAGE_TAG from $REGISTRY"
     - python /delete-image.py "$REGISTRY_PASS" "$CI_PROJECT_ID" "$IMAGE_PATH" "$IMAGE_TAG"
   when: always
+
+.publish_docker_image_template:
+  extends: .docker_image_builder_job_template
+  needs: []
+  variables:
+    DOCKER_HUB_USER: $DOCKER_HUB_USER
+    DOCKER_HUB_PASSWORD: $DOCKER_HUB_PASSWORD
+  before_script:
+    - echo "Disabled the default before_script from image builder job template"
+  rules:
+    - if: '$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED == "true"'
+      when: manual