diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..1af3ddd81feb7ff7eeb03ee4f7768aa89fd0b25b
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,31 @@
+variables:
+  GIT_SUBMODULE_STRATEGY: recursive
+
+stages:
+  - build
+  - test
+
+build:
+  image: openjdk:8
+  stage: build
+  script:
+    - ./gradlew --console=plain --no-daemon assemble
+  cache:
+    key: "$CI_COMMIT_REF_NAME"
+    policy: push
+    paths:
+      - .gradle
+
+test:
+  image: openjdk:8
+  stage: test
+  script:
+    - ./gradlew --console=plain --no-daemon test
+  artifacts:
+    reports:
+      junit: build/test-results/test/**/TEST-*.xml
+  cache:
+    key: "$CI_COMMIT_REF_NAME"
+    policy: pull
+    paths:
+      - .gradle