diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fbfd70d74ff86c08323ee6dfc39b83dfb097ae96..a3002adc9822abecb92a93738ea6db7a56879405 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -45,10 +45,6 @@ deploy-int-release-dev-cscs:
   resource_group: shared-NFS-mount-dev-cscs
   only:
     - master
-  except:
-    variables:
-      - $CI_PIPELINE_SOURCE == "schedule"
-
 
 # Deploy the production release of tools (manual pipeline)
 # deploy on the production environment of the okd prod cluster at CSCS
@@ -67,7 +63,6 @@ deploy-prod-release-prod-cscs:
   rules:
     - if: '$CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH && $CI_COMMIT_BRANCH =~ /ebrains/'
       when: manual
-      allow_failure: false
 
 # Deploy the production release of tools (manual pipeline)
 # deploy on the production environment of the okd prod cluster at JSC
@@ -86,7 +81,6 @@ deploy-prod-release-prod-jsc:
   rules:
     - if: '$CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH && $CI_COMMIT_BRANCH =~ /ebrains/'
       when: manual
-      allow_failure: false
 
 # Deploy the experimental release of tools (sheduled pipeline)
 # once a week from latest working version of integration release 
@@ -108,8 +102,7 @@ deploy-exp-release-dev-cscs:
     refs:
       - schedules
     variables:
-      - $RELEASE == "experimental-dev"
-  allow_failure: false
+      - $DEPLOYMENT == "dev"
 
 # Deploy the experimental release of tools (sheduled pipeline)
 # once a week from latest working version of integration release 
@@ -127,12 +120,13 @@ deploy-exp-release-prod-cscs:
     SPACK_ENV: experimental
     RELEASE_NAME: EBRAINS-experimental
   resource_group: shared-NFS-mount-prod-cscs
+  tags:             # this is just to ensure that the two jobs will run on different runners
+    - read-write    # to avoid issues with common environment variables
   only:
     refs:
       - schedules
     variables:
-      - $RELEASE == "experimental"
-  allow_failure: false
+      - $DEPLOYMENT == "prod"
 
 # Deploy the experimental release of tools (sheduled pipeline)
 # once a week from latest working version of integration release 
@@ -150,13 +144,13 @@ deploy-exp-release-prod-jsc:
     SPACK_ENV: experimental
     RELEASE_NAME: EBRAINS-experimental
   resource_group: shared-NFS-mount-prod-jsc
+  tags:             # this is just to ensure that the two jobs will run on different runners
+    - read-only     # to avoid issues with common environment variables
   only:
     refs:
       - schedules
     variables:
-      - $RELEASE == "experimental"
-  allow_failure: false
-
+      - $DEPLOYMENT == "prod"
 
 build-spack-env-on-runner:
   stage: build
@@ -200,6 +194,9 @@ build-spack-env-on-runner:
       - spack_logs
     when: always
   timeout: 2 days
+  except:
+    variables:
+      - $CI_PIPELINE_SOURCE == "schedule"
   # cache:
   #   key: spack-cache-$CI_COMMIT_REF_SLUG
   #   paths:
@@ -264,5 +261,4 @@ sync-gitlab-spack-instance:
     refs:
       - schedules
     variables:
-      - $SYNC_BRANCH == "experimental"
-  allow_failure: false
+      - $DEPLOYMENT == "gitlab-nfs"