diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..3d28406c068f10129f2288729ce46b803704779d
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,27 @@
+stages:
+  - build
+
+gcc-c++11:
+  stage: build
+  script: "CI/ci-linux.sh gcc C++11"
+  tags:
+    - Linux
+
+clang-c++11:
+  stage: build
+  script: "CI/ci-linux.sh clang C++11"
+  tags:
+    - Linux
+
+gcc-c++14:
+  stage: build
+  script: "CI/ci-linux.sh gcc C++14"
+  tags:
+    - Linux
+
+clang-c++14:
+  stage: build
+  script: "CI/ci-linux.sh clang C++14"
+  tags:
+    - Linux
+
diff --git a/CI/ci-linux.sh b/CI/ci-linux.sh
new file mode 100755
index 0000000000000000000000000000000000000000..a911a5d073c875a6afec67f8c74269673181b620
--- /dev/null
+++ b/CI/ci-linux.sh
@@ -0,0 +1,147 @@
+#!/bin/bash
+
+COMPILER=$1
+LANGUAGE=$2
+
+# Exit script on any error
+set -e
+
+OPTIONS=""
+MAKE_OPTIONS=""
+BUILDPATH=""
+
+if [ "$COMPILER" == "gcc" ]; then
+  echo "Building with GCC";
+  BUILDPATH="gcc"
+
+  # without icecc: no options required
+  OPTIONS="-DCMAKE_CXX_COMPILER=/usr/lib/icecc/bin/g++ -DCMAKE_C_COMPILER=/usr/lib/icecc/bin/gcc"
+  MAKE_OPTIONS="-j16"
+  export ICECC_CXX=/usr/bin/g++ ; export ICECC_CC=/usr/bin/gcc
+
+elif [ "$COMPILER" == "clang" ]; then
+
+  OPTIONS="$OPTIONS -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang"
+  echo "Building with CLANG";
+  BUILDPATH="clang"
+fi
+
+if [ "$LANGUAGE" == "C++98" ]; then
+  echo "Building with C++98";
+  BUILDPATH="$BUILDPATH-cpp98"
+elif [ "$LANGUAGE" == "C++11" ]; then
+  echo "Building with C++11";
+  OPTIONS="$OPTIONS -DCMAKE_CXX_FLAGS='-std=c++11' "
+  BUILDPATH="$BUILDPATH-cpp11"
+elif [ "$LANGUAGE" == "C++14" ]; then
+  echo "Building with C++14";
+  OPTIONS="$OPTIONS -DCMAKE_CXX_FLAGS='-std=c++14' "
+  BUILDPATH="$BUILDPATH-cpp14"
+fi
+
+#=====================================
+# Color Settings:
+#=====================================
+NC='\033[0m'
+OUTPUT='\033[0;32m'
+WARNING='\033[0;93m'
+
+#clone OpenVolumeMesh
+if [ ! -d OpenVolueMesh ]; then
+  git clone https://graphics.rwth-aachen.de:9000/OpenVolumeMesh/OpenVolumeMesh
+else
+  cd OpenVolueMesh
+  git pull
+  cd ..
+fi
+
+
+echo -e "${OUTPUT}"
+echo ""
+echo "======================================================================"
+echo "Basic configuration details:"
+echo "======================================================================"
+echo -e "${NC}"
+
+echo "Compiler:     $COMPILER"
+echo "Options:      $OPTIONS"
+echo "Language:     $LANGUAGE"
+echo "Make Options: $OPTIONS"
+echo "BuildPath:    $BUILDPATH"
+echo "Path:         $PATH"
+echo "Language:     $LANGUAGE"
+
+echo -e "${OUTPUT}"
+echo ""
+echo "======================================================================"
+echo "Building Release version"
+echo "======================================================================"
+echo -e "${NC}"
+
+
+if [ ! -d build-release-$BUILDPATH-Vector-Checks ]; then
+  mkdir build-release-$BUILDPATH-Vector-Checks
+fi
+
+cd build-release-$BUILDPATH-Vector-Checks
+
+cmake -DCMAKE_BUILD_TYPE=Release -DHEXEX_BUILD_UNIT_TESTS=TRUE $OPTIONS ../
+
+#build it
+make $MAKE_OPTIONS
+
+#build the unit tests
+make  $MAKE_OPTIONS unittests
+
+echo -e "${OUTPUT}"
+echo ""
+echo "======================================================================"
+echo "Running unittests Release version"
+echo "======================================================================"
+echo -e "${NC}"
+
+cd Build
+
+#execute tests
+./unittests --gtest_color=yes --gtest_output=xml
+
+cd ..
+cd ..
+
+echo -e "${OUTPUT}"
+echo ""
+echo "======================================================================"
+echo "Building Debug version"
+echo "======================================================================"
+echo -e "${NC}"
+
+
+if [ ! -d build-debug-$BUILDPATH-Vector-Checks ]; then
+  mkdir build-debug-$BUILDPATH-Vector-Checks
+fi
+
+cd build-debug-$BUILDPATH-Vector-Checks
+
+cmake -DCMAKE_BUILD_TYPE=Debug -DHEXEX_BUILD_UNIT_TESTS=TRUE $OPTIONS ../
+
+#build it
+make $MAKE_OPTIONS
+
+#build the unit tests
+make  $MAKE_OPTIONS unittests
+
+echo -e "${OUTPUT}"
+echo ""
+echo "======================================================================"
+echo "Running unittests Debug version"
+echo "======================================================================"
+echo -e "${NC}"
+
+
+cd Build
+
+#execute tests
+./unittests --gtest_color=yes --gtest_output=xml
+
+cd ..
+cd ..