diff --git a/.gitlab-industrial-ci-kinetic-no-rosinstall.yml b/.gitlab-industrial-ci-kinetic-no-rosinstall.yml
index 11b905a8f2939b2f39f3dcd4a031a61484afe91c..5d3dbcd766310a34c43469c67200963cfc05269d 100644
--- a/.gitlab-industrial-ci-kinetic-no-rosinstall.yml
+++ b/.gitlab-industrial-ci-kinetic-no-rosinstall.yml
@@ -38,19 +38,22 @@ industrial_ci_kinetic:
   variables:
     ROS_DISTRO: kinetic
     DOCKER_IMAGE: "${ARTIFACT_DOCKER_URL}/flexbotics-base-devel:${ROS_DISTRO}"
-  except:
-    - tags
-    - /^melodic-.*/
+  rules:
+    - if: $CI_COMMIT_TAG
+      when: never
+    - if: $CI_COMMIT_REF_NAME =~ /^melodic-.*/
+      when: never
+    - when: always
 
 industrial_ci_melodic:
   extends: .industrial_ci
   variables:
     ROS_DISTRO: melodic
     DOCKER_IMAGE: "${ARTIFACT_DOCKER_URL}/flexbotics-base-devel:${ROS_DISTRO}"
-  only:
-    - /melodic-.*/
-  except:
-    - tags
+  rules:
+    - if: $CI_COMMIT_TAG
+      when: never
+    - if: $CI_COMMIT_REF_NAME =~ /^melodic-.*/
 
 industrial_ci_kinetic_deploy:
   extends: .industrial_ci
@@ -73,8 +76,8 @@ industrial_ci_kinetic_deploy:
     - docker build --build-arg APPLICATION_IMAGE=${ARTIFACT_DOCKER_URL}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME} -t ${ARTIFACT_DOCKER_URL}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME}-dev .
     - docker push ${ARTIFACT_DOCKER_URL}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME}-dev
     - cd ..
-  only:
-    - tags
+  rules:
+    - if: $CI_COMMIT_TAG
 
 clang_format:
   stage: postcheck
diff --git a/.gitlab-industrial-ci-kinetic-with-rosinstall.yml b/.gitlab-industrial-ci-kinetic-with-rosinstall.yml
index 15f0e1ea8ad55659a8c064a5e3512b9276b07a22..7e44d499a5dfde6b314b86906bf9248075aa14ab 100644
--- a/.gitlab-industrial-ci-kinetic-with-rosinstall.yml
+++ b/.gitlab-industrial-ci-kinetic-with-rosinstall.yml
@@ -31,7 +31,6 @@ before_script:
     ROSINSTALL_FILENAME: ".rosinstall"
     BEFORE_SCRIPT: "bash <(curl -Ls https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/raw/master/scripts/ci_run_entry_points.sh) $$CATKIN_WORKSPACE"
     CATKIN_CONFIG: '--cmake-args -DCMAKE_CXX_FLAGS=-Wno-ignored-attributes -Wno-int-in-bool-context --'
-  when: always
   tags:
     - docker
 
@@ -40,19 +39,22 @@ industrial_ci_kinetic:
   variables:
     ROS_DISTRO: kinetic
     DOCKER_IMAGE: "${ARTIFACT_DOCKER_URL}/flexbotics-base-devel:${ROS_DISTRO}"
-  except:
-    - tags
-    - /^melodic-.*/
+  rules:
+    - if: $CI_COMMIT_TAG
+      when: never
+    - if: $CI_COMMIT_REF_NAME =~ /^melodic-.*/
+      when: never
+    - when: always
 
 industrial_ci_melodic:
   extends: .industrial_ci
   variables:
     ROS_DISTRO: melodic
     DOCKER_IMAGE: "${ARTIFACT_DOCKER_URL}/flexbotics-base-devel:${ROS_DISTRO}"
-  only:
-    - /^melodic-.*/
-  except:
-    - tags
+  rules:
+    - if: $CI_COMMIT_TAG
+      when: never
+    - if: $CI_COMMIT_REF_NAME =~ /^melodic-.*/
 
 industrial_ci_kinetic_deploy:
   extends: .industrial_ci
@@ -75,8 +77,8 @@ industrial_ci_kinetic_deploy:
     - docker build --build-arg APPLICATION_IMAGE=${ARTIFACT_DOCKER_URL}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME} -t ${ARTIFACT_DOCKER_URL}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME}-dev .
     - docker push ${ARTIFACT_DOCKER_URL}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME}-dev
     - cd ..
-  only:
-    - tags
+  rules:
+    - if: $CI_COMMIT_TAG
 
 clang_format:
   stage: postcheck