diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 315bae61aae35b2d85fd49f0a503a998ef774a9a..217e998884bed0e2d349fe668a09b2b23a126591 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -402,33 +402,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: