diff --git a/ci-templates/industrial-ci-templates.yml b/ci-templates/industrial-ci-templates.yml
index 27a601a8c60547d1329b9856b7459f8e6c54b066..fe50361777831a1aa9a73d6acbd68ee2defa016f 100644
--- a/ci-templates/industrial-ci-templates.yml
+++ b/ci-templates/industrial-ci-templates.yml
@@ -19,7 +19,6 @@
   variables:
     DOCKER_PUSH_REGISTRY: ${ARTIFACT_DOCKER_URL}
     DOCKER_PUSH_NAME: ${CI_PROJECT_PATH_SLUG}
-    DOCKER_PUSH_TAG: ${CI_COMMIT_REF_SLUG}
     DDEPLOY_YAML: ddeploy.yaml
   before_script:
     - apk add --update python3 git py3-pip git-lfs
@@ -42,12 +41,14 @@
     - ddeploy --yaml ${DDEPLOY_YAML}
     # Get ID of image created by ddeploy
     - 'DOCKER_ID=$(docker images --format="{{.ID}}" | head -1)'
-    # Tag and push
-    - docker tag ${DOCKER_ID} ${DOCKER_PUSH_REGISTRY}/${DOCKER_PUSH_NAME}:${DOCKER_PUSH_TAG}
-    - docker push ${DOCKER_PUSH_REGISTRY}/${DOCKER_PUSH_NAME}:${DOCKER_PUSH_TAG}
-    # Tag and push latest
-    - docker tag ${DOCKER_ID} ${DOCKER_PUSH_REGISTRY}/${DOCKER_PUSH_NAME}:latest
-    - docker push ${DOCKER_PUSH_REGISTRY}/${DOCKER_PUSH_NAME}:latest
+    # Tag and push with the branch or tag name.
+    - docker tag ${DOCKER_ID} ${DOCKER_PUSH_REGISTRY}/${DOCKER_PUSH_NAME}:${CI_COMMIT_REF_SLUG}
+    - docker push ${DOCKER_PUSH_REGISTRY}/${DOCKER_PUSH_NAME}:${CI_COMMIT_REF_SLUG}
+    # Tag and push with commit sha
+    - docker tag ${DOCKER_ID} ${DOCKER_PUSH_REGISTRY}/${DOCKER_PUSH_NAME}:${CI_COMMIT_SHA}
+    - docker push ${DOCKER_PUSH_REGISTRY}/${DOCKER_PUSH_NAME}:${CI_COMMIT_SHA}
+    # Tag and push with latest only if it's on the default branch
+    - if [ $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH ]; then docker tag ${DOCKER_ID} ${DOCKER_PUSH_REGISTRY}/${DOCKER_PUSH_NAME}:latest && docker push ${DOCKER_PUSH_REGISTRY}/${DOCKER_PUSH_NAME}:latest; fi
   rules:
     - if: $CI_COMMIT_TAG
       when: always