diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6d7936101028ae95ecdb22377d34e0e7536c4367..5664686043e6604ffa66cdb5e516b8748c62ed13 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,12 +3,33 @@ default:
     - docker
   image: python:3.10-slim-buster
 
-my_tests:
-  # Good to put a small description here of what this job does
-  before_script:
+stages:          # List of employment runs, starts with build ends with deploy. 
+  - build
+  - test
+  - deploy
+
+build-job:       # First stage deployment and installation of dependencies. 
+  stage: build   # Build Stage
+  script:
+    - pip install -r requirements.txt
     - pip install -r requirements_dev.txt
+
+Coverage-test-job:   # Test Stage
+  stage: test        # Starts when the above build stages finishes installing dependencies.
+  script:
+    - coverage run --source git.scicore.unibas.ch:2222/zavolan_group/tools/transcript-structure-generator/tests/ -m pytest
+    - coverage report -m
+
+Flake8/Pylint/mypy-test-job:   # Test Stage
+  stage: test    # Deploys and runs all 3 linters.
+  script:
+    - flake8 --docstring-convention google git.scicore.unibas.ch:2222/zavolan_group/tools/transcript-structure-generator/tests/
+    - pylint git.scicore.unibas.ch:2222/zavolan_group/tools/transcript-structure-generator/tests/
+    - mypy git.scicore.unibas.ch:2222/zavolan_group/tools/transcript-structure-generator/tests/
+
+deploy-job:      # Deploy Stage
+  stage: deploy  # Runs only when the privious jobs were finished succesfully. 
+  environment: production
   script:
-    - echo "coverage run --source git.scicore.unibas.ch:2222/zavolan_group/tools/transcript-structure-generator/tests/ -m pytest"
-    - echo "flake8 --docstring-convention google git.scicore.unibas.ch:2222/zavolan_group/tools/transcript-structure-generator/tests/"
-    - echo "pylint git.scicore.unibas.ch:2222/zavolan_group/tools/transcript-structure-generator/tests/"
-    - echo "mypy git.scicore.unibas.ch:2222/zavolan_group/tools/transcript-structure-generator/tests/"
+    - echo "Running script"
+    - echo "Application successfully deployed."