diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5243422ffdc94b2b0c7f94eef2d97677a7328487..9829df0f8e9f1a70eaa07ec5ecab328af4972343 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -76,8 +76,8 @@ full-deploy-production:
   stage: deploy
   # only run when stable tag is assigned and the pipeline is triggered in the web UI
   only:
-    - tags && web
-  tags: [stable]
+    variables:
+      - ($CI_PIPELINE_SOURCE == "web" && $CI_COMMIT_REF_NAME =~ "/^stable-/")
   environment: Production
   script:
     - echo "Starting the full production deployment."
@@ -100,9 +100,8 @@ full-deploy-testing:
   stage: deploy 
   # only run when master is updated and the pipeline is triggered in the web UI
   only:
-    - master && web
-  except:
-    - tags
+    variables:
+      - ($CI_PIPELINE_SOURCE == "web" && $CI_COMMIT_REF_NAME == "master")
   environment: Testing
   script:
     - echo "Starting the full testing deployment."