diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 2465f8ba6a0f2ec6143a7b20bfb52195c6cc7597..c93704d114b2bb255eb5a1500ffee2ac3ec41913 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -495,33 +495,45 @@ docker_build_image_device_xst:
 #    Do not remove 'bash' or statement will be ignored by primitive docker shell
     - bash $CI_PROJECT_DIR/sbin/tag_and_push_docker_image.sh device-xst $tag
 docker_build_image_archiver_timescale:
-  extends: .base_docker_images_except
-  only:
-    refs:
-      - merge_requests
-    changes:
+  extends: .base_docker_images
+  rules:
+    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
+      when: never
+    - if: '$CI_COMMIT_TAG != null'
+      when: never
+    - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
+      when: never
+    - changes:
       - docker-compose/archiver-timescale.yml
       - docker-compose/timescaledb/*
   script:
 #    Do not remove 'bash' or statement will be ignored by primitive docker shell
     - bash $CI_PROJECT_DIR/sbin/tag_and_push_docker_image.sh archiver-timescale $tag
 docker_build_image_hdbppts_cm:
-  extends: .base_docker_images_except
-  only:
-    refs:
-      - merge_requests
-    changes:
+  extends: .base_docker_images
+  rules:
+    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
+      when: never
+    - if: '$CI_COMMIT_TAG != null'
+      when: never
+    - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
+      when: never
+    - changes:
       - docker-compose/archiver-timescale.yml
       - docker-compose/tango-archiver-ts/*
   script:
 #    Do not remove 'bash' or statement will be ignored by primitive docker shell
     - bash $CI_PROJECT_DIR/sbin/tag_and_push_docker_image.sh hdbppts-cm $tag
 docker_build_image_hdbppts_es:
-  extends: .base_docker_images_except
-  only:
-    refs:
-      - merge_requests
-    changes:
+  extends: .base_docker_images
+  rules:
+    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
+      when: never
+    - if: '$CI_COMMIT_TAG != null'
+      when: never
+    - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
+      when: never
+    - changes:
       - docker-compose/archiver-timescale.yml
       - docker-compose/tango-archiver-ts/*
   script: