diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fc96ca009936f40d8c145473d9017cbd1e2a939e..59a7c5d6c60f486eb8bd838d4826170dbd4cda34 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,45 +1,19 @@
-stages:
-  - test
-  - deploy
+image: docker:24.0.5
 
-default:
-  image: node:20.16.0
+services:
+  - docker:24.0.5-dind
 
-cache:
-  paths:
-    - node_modules/
+variables:
+  DOCKER_IMAGE_NAME: $DOCKER_USERNAME/experiments
 
-prettier-test-job:
-  stage: test
-  script:
-    - npm run check
-
-deploy-job:
-  stage: deploy
-  environment: production
-
-  image: docker:latest
-  services:
-    - docker:dind
-
-  variables:
-    DOCKER_HOST: unix:///var/run/docker.sock
-    DOCKER_DRIVER: overlay2
-    DOCKER_IMAGE_NAME: $DOCKER_USERNAME/experiments
-
-  before_script:
-    - mkdir /etc/gitlab-runner/
-    - mv config.toml /etc/gitlab-runner/
-    - mkdir ~/.docker
-    - echo $DOCKER_AUTH_CONFIG | base64 -d > ~/.docker/config.json
-    - until docker info; do sleep 1; done;
+before_script:
+  - mkdir ~/.docker
+  - echo $DOCKER_AUTH_CONFIG | base64 -d > ~/.docker/config.json
+  - until docker info; do sleep 1; done;
 
+build-master:
+  stage: build
   script:
-    - docker build -t $DOCKER_IMAGE_NAME:latest .
+    - docker build --pull -t $DOCKER_IMAGE_NAME:latest .
     - docker push $DOCKER_IMAGE_NAME:latest
 
-  retry:
-    max: 2
-    when:
-      - runner_system_failure
-      - stuck_or_timeout_failure
diff --git a/.gitlab2-ci.yml b/.gitlab2-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..fc96ca009936f40d8c145473d9017cbd1e2a939e
--- /dev/null
+++ b/.gitlab2-ci.yml
@@ -0,0 +1,45 @@
+stages:
+  - test
+  - deploy
+
+default:
+  image: node:20.16.0
+
+cache:
+  paths:
+    - node_modules/
+
+prettier-test-job:
+  stage: test
+  script:
+    - npm run check
+
+deploy-job:
+  stage: deploy
+  environment: production
+
+  image: docker:latest
+  services:
+    - docker:dind
+
+  variables:
+    DOCKER_HOST: unix:///var/run/docker.sock
+    DOCKER_DRIVER: overlay2
+    DOCKER_IMAGE_NAME: $DOCKER_USERNAME/experiments
+
+  before_script:
+    - mkdir /etc/gitlab-runner/
+    - mv config.toml /etc/gitlab-runner/
+    - mkdir ~/.docker
+    - echo $DOCKER_AUTH_CONFIG | base64 -d > ~/.docker/config.json
+    - until docker info; do sleep 1; done;
+
+  script:
+    - docker build -t $DOCKER_IMAGE_NAME:latest .
+    - docker push $DOCKER_IMAGE_NAME:latest
+
+  retry:
+    max: 2
+    when:
+      - runner_system_failure
+      - stuck_or_timeout_failure