diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a49342ae8db364838aa82ecc078c8b9be7fa400a
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,27 @@
+image: python:latest
+
+services:
+  - mysql:5.7
+
+variables:
+  MYSQL_DATABASE: "test"
+  MYSQL_ROOT_PASSWORD: "mysql"
+  MYSQL_USER: "django"
+  MYSQL_PASSWORD: "mysql"
+  MYSQL_HOST: "mysql"
+
+cache:
+  paths:
+    - ~/.cache/pip/
+
+before_script:
+  - python -V  # Print out python version for debugging
+  - apt-get -qq update
+  - apt-get -qq install -y python-virtualenv python3 python3-dev python3-pip gettext default-libmysqlclient-dev
+  - export DJANGO_SETTINGS_MODULE=AKPlanning.settings_ci
+  - ./Utils/setup.sh --prod
+
+test:
+  script:
+    - source venv/bin/activate
+    - python manage.py test --settings AKPlanning.settings_ci
\ No newline at end of file
diff --git a/AKPlanning/settings_ci.py b/AKPlanning/settings_ci.py
new file mode 100644
index 0000000000000000000000000000000000000000..6c09856926dabffa495a333749719278a616d15c
--- /dev/null
+++ b/AKPlanning/settings_ci.py
@@ -0,0 +1,21 @@
+# noinspection PyUnresolvedReferences
+from AKPlanning.settings import *
+
+DEBUG = False
+SECRET_KEY = '+7#&=$grg7^x62m#3cuv)k$)tqx!xkj_o&y9sm)@@sgj7_7-!+'
+
+SESSION_COOKIE_SECURE = True
+CSRF_COOKIE_SECURE = True
+
+DATABASES = {
+    'default': {
+        'ENGINE': 'django.db.backends.mysql',
+        'HOST': 'mysql',
+        'NAME': 'test',
+        'USER': 'django',
+        'PASSWORD': 'mysql',
+        'OPTIONS': {
+            'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"
+        }
+    }
+}