diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 2813118ce951d8018aaf3f82811b6f9deb4853b6..1be000d8995a45e155376a8ffeca264303e3e9d3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,25 +3,40 @@ stages:
 - test
 - report
 
+variables:
+  GRADLE_OPTS: "-Dorg.gradle.daemon=false"
+  TEST_REPORTS: "/builds/rschoene/eraser/eraser-base/build/reports/tests/test/"
+
+before_script:
+  - export GRADLE_USER_HOME=`pwd`/.gradle
+
 build:
   image: gradle:jdk8
   stage: build
   script:
-  - ./gradlew --console=plain assemble
-  retry: 2
-  when: on_success
+  - ./gradlew --console=plain --build-cache assemble
+  cache:
+    key: "$CI_COMMIT_REF_NAME"
+    policy: push
+    paths:
+      - build
+      - .gradle
 
 test:
   image: gradle:jdk8
   stage: test
   script:
-  - ./gradlew --continue --console=plain test jacocoTestReport
-  retry: 2
-  when: on_success
+  - ./gradlew --continue --console=plain check jacocoTestReport
+  cache:
+    key: "$CI_COMMIT_REF_NAME"
+    policy: pull
+    paths:
+      - build
+      - .gradle
   artifacts:
     when: always
-    # paths:
-    # - $TEST_REPORTS
+     paths:
+     - $TEST_REPORTS
     # - $JACOCO_DATA1
     # - $JACOCO_DATA2
 
@@ -35,8 +50,13 @@ coverage:
   - pip install --user untangle
   - python2 print-coverage.py
   coverage: "/Covered (\\d{1,3}\\.\\d{2}%) of instructions for all projects\\./"
+  cache:
+    key: "$CI_COMMIT_REF_NAME"
+    policy: pull
+    paths:
+      - build
+      - .gradle
   allow_failure: true
-  when: on_success
   artifacts:
     when: always
     # paths:
diff --git a/README.md b/README.md
index 447a85398e03ceec5aa75c3edeefddeff8f3a80d..1f690dbf64d9ff6210a61ad8d5e2a0860be48da8 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,6 @@
+[![pipeline status](https://git-st.inf.tu-dresden.de/rschoene/eraser/badges/master/pipeline.svg)](https://git-st.inf.tu-dresden.de/rschoene/eraser/commits/master)
+[![coverage report](https://git-st.inf.tu-dresden.de/rschoene/eraser/badges/master/coverage.svg)](https://git-st.inf.tu-dresden.de/rschoene/eraser/commits/master)
+
 # ERASER - OpenLicht Knowledge Base
 
 ## Overview