diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..fea79ad9f4f522ab4d47778150b1a0c4f19a2e25
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,39 @@
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+
+# List of the CI build stages.
+stages:
+  - dependencies
+  - build
+
+# Common setup for the CI Docker images.
+before_script:
+  - yum -y install glibc-devel which git
+  - set +e && source CI/setup_lcg.sh; set -e
+
+# Build the upstream project(s) needed by this one.
+.dependencies_template: &dependencies_template
+  stage: dependencies
+  tags:
+    - docker
+    - cvmfs
+  script:
+    - git clone https://gitlab.cern.ch/GeoModelDev/GeoModelCore.git
+    - git clone https://gitlab.cern.ch/GeoModelDev/GeoModelIO.git
+    - mkdir GeoModelCore-build GeoModelIO-build
+    - cd GeoModelCore-build/
+    - cmake -GNinja -DCMAKE_INSTALL_PREFIX=../dependencies-install ../GeoModelCore/
+    - cmake --build . --target install
+    - cd ../GeoModelIO-build/
+    - cmake -GNinja -DCMAKE_INSTALL_PREFIX=../dependencies-install -DCMAKE_PREFIX_PATH=../dependencies-install ../GeoModelIO/
+    - cmake --build . --target install
+  artifacts:
+    paths:
+      - dependencies-install/
+
+slc6_dependencies:
+  <<: *dependencies_template
+  image: cern/slc6-base:latest
+
+centos7_dependencies:
+  <<: *dependencies_template
+  image: cern/cc7-base:latest
diff --git a/CI/setup_lcg.sh b/CI/setup_lcg.sh
new file mode 100644
index 0000000000000000000000000000000000000000..161250a23a375ff0b1b07514876a35f79dfd3d67
--- /dev/null
+++ b/CI/setup_lcg.sh
@@ -0,0 +1,25 @@
+#!/bin/sh -ex
+#
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+#
+# Setup an LCG view via cvmfs.
+#
+
+# determine os release
+if [ "$(cat /etc/redhat-release | grep 'Scientific Linux CERN SLC release 6')" ]; then
+  os=slc6
+  compiler=gcc62-opt
+elif [ "$(cat /etc/centos-release | grep 'CentOS Linux release 7')" ]; then
+  os=centos7
+  compiler=gcc7-opt
+else
+  echo "Unknown OS" 1>&2
+  exit 1
+fi
+
+release=LCG_95
+platform=x86_64-${os}-${compiler}
+lcg=/cvmfs/sft.cern.ch/lcg/views/${release}/${platform}
+
+source ${lcg}/setup.sh
+