diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..1e77842443bcaac1eb438fb39e991536c183a759
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,8 @@
+makegmsh:
+  image : immc/gmsh:v0.4
+  script:
+    - mkdir build
+    - cd build
+    - cmake .. -DENABLE_CXX11=1
+    - make -j4
+    - ctest --output-on-failure
diff --git a/doc/docker-test/Dockerfile b/doc/docker-test/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..db3d44b9d20898ad39ed5d4632f0e389c3526999
--- /dev/null
+++ b/doc/docker-test/Dockerfile
@@ -0,0 +1,12 @@
+FROM ubuntu:16.04
+
+RUN apt-get update && apt-get install -y cmake curl g++ gfortran libfltk1.3-dev libfreetype6-dev libgl1-mesa-dev liblapack-dev libxi-dev libxmu-dev mesa-common-dev tcl-dev tk-dev
+RUN curl -L -o occ71.tgz "http://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V7_1_0;sf=tgz"
+RUN tar xf occ71.tgz
+RUN cd occt-V7_1_0 && mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_MODULE_Draw=0 -DBUILD_MODULE_Visualization=0 -DBUILD_MODULE_ApplicationFramework=0 .. && cat CMakeCache.txt && make -j8
+RUN cd occt-V7_1_0/build && make install
+
+VOLUME ["/etc/gitlab-runner"]
+RUN useradd -ms /bin/bash validator
+USER validator
+WORKDIR /home/validator
diff --git a/doc/docker-test/README b/doc/docker-test/README
new file mode 100644
index 0000000000000000000000000000000000000000..c746c9c1a0c761c65e92bb9f9128b82a445572f9
--- /dev/null
+++ b/doc/docker-test/README
@@ -0,0 +1,7 @@
+# build image
+docker build -t immc/gmsh:v0.4 .
+
+# push image to docker-hub
+docker login
+docker push immc/dg-valid
+