diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index bc3e11863879f96286869bba8d00768530ca6b0e..223170e010d613482bd99aa77aca41a2d9e4b073 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,5 +1,6 @@
 stages:
-  - server-test
+  - setup
+  - test
   - client-install
   - client-test
 
diff --git a/.gitlab/server.gitlab-ci.yml b/.gitlab/server.gitlab-ci.yml
index 33d3934c3ce1fa51ff12cccbb0384d70e28f91f8..059c844625ccedd7e803f6ac3eb518502f78d15c 100644
--- a/.gitlab/server.gitlab-ci.yml
+++ b/.gitlab/server.gitlab-ci.yml
@@ -1,11 +1,11 @@
-
-
-test-server:
+server-setup:
   image: python
-  cache:
+  stage: setup
+  artifacts:
     paths:
-      - server/env/
-  stage: server-test
+      - server/env
+    expire_in: 15 min
+    untracked: true
   script:
     - python --version
     - pip install virtualenv
@@ -13,4 +13,11 @@ test-server:
     - python -m venv env
     - source env/bin/activate
     - pip install -r requirements.txt
+
+server-test:
+  image: python
+  stage: test
+  dependencies:
+    - server-setup
+  script:
     - pytest --cov app tests/