diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f31b882ae14fa48af1862f5bb466283587f56fc4
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,51 @@
+stages:
+	- prep
+	- test
+	- deploy
+
+before_script:
+	stage: prep
+	script:
+	- echo "preparing environment"
+	- virtualenv env
+	- . env/bin/activate
+	- pip install -r pip-packages.txt
+
+test:
+	stage: test
+	script: 
+	- echo "Running tests"
+	- . env/bin/activate
+	- python3 src/manage.py check
+
+
+deploy_staging:
+	stage: deploy
+	script:
+		- echo "Deploy to staging server"
+	environment:
+		name: stage
+		url: https://portal.ucc.asn.au/stage
+	only:
+	- master
+
+	deploy_prod:
+	stage: deploy
+	script:
+		- echo "Deploy to production server"
+	environment:
+		name: production
+		url: https://portal.ucc.asn.au
+	when: manual
+	only:
+	- master
+
+deploy_test:
+	stage: deploy
+	script:
+		- echo "Deploy to test"
+	environment:
+		name: test-$CI_COMMIT_REF_NAME
+		url: https://portal.ucc.asn.au/test/$CI_COMMIT_REF_NAME
+	except:
+	- master
\ No newline at end of file
diff --git a/uwsgi.ini b/uwsgi.ini
new file mode 100644
index 0000000000000000000000000000000000000000..8cb596b4fad56ebd96ff9ada3eacbb55139200e8
--- /dev/null
+++ b/uwsgi.ini
@@ -0,0 +1,5 @@
+[uwsgi]
+socket = wsgi.sock
+chdir = ./src/
+wsgi-file = src/wsgi.py
+