diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..bcae75ea25b56307581a382c670f5848deaab113
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,34 @@
+stages:
+    - build
+    - package
+
+cache:
+    paths:
+        - build/
+
+.slicer: &slicer
+    image: slicer/buildenv-qt5-centos7:slicer-4.10
+    variables:
+        SLICER_BUILD:   "/builds/slicer/slicer_4.10/Slicer-Superbuild/Slicer-build/"
+    tags:
+        - linux
+        - slicer
+
+build:
+    <<:
+        - *slicer
+    stage: build
+    script:
+        - chmod a+x .gitlab/ci/build.sh
+        - .gitlab/ci/build.sh
+        
+package:
+    <<:
+        - *slicer
+    stage: package
+    script:
+        - chmod a+x .gitlab/ci/package.sh
+        - .gitlab/ci/package.sh
+    artifacts:
+        paths:
+        - public
diff --git a/.gitlab/ci/build.sh b/.gitlab/ci/build.sh
new file mode 100644
index 0000000000000000000000000000000000000000..cef58c893c7af377b7fbe1538ca77deebddce84d
--- /dev/null
+++ b/.gitlab/ci/build.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+PWD=`pwd`
+SRCDIR="$PWD"
+BUILDDIR="$PWD/build"
+
+echo "Files in /builds:"
+ls /builds/
+
+echo "Files in /builds/slicer"
+ls /builds/slicer
+
+
+if [[ ! -d $BUILDDIR ]]
+then
+    echo "Creating $BUILDDIR"
+    mkdir -p "$BUILDDIR"
+fi
+
+cd "$BUILDDIR"
+
+echo "SLICER_BUILD: $SLICER_BUILD"
+echo "SRC_DIR: $SRC_DIR"
+
+echo "Configuring package"
+cmake -G Ninja "$SRCDIR" -DSlicer_DIR="$SLICER_BUILD" 
+
+echo "Building"
+cmake --build . --config Release
diff --git a/.gitlab/ci/package.sh b/.gitlab/ci/package.sh
new file mode 100644
index 0000000000000000000000000000000000000000..cc7e2316db4fc9086701a35c355202f80b0029dc
--- /dev/null
+++ b/.gitlab/ci/package.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+PWD=`pwd`
+SRCDIR="$PWD"
+BUILDDIR="$PWD/build"
+ARTIFACTDIR="$PWD/public"
+
+cd "$BUILDDIR"
+
+echo "Running CMake package"
+cmake --build . --config Release --target package
+
+regex='set\(CPACK_PACKAGE_FILE_NAME\s"(.*)"\)'
+filename=""
+
+while IFS="" read -r p || [ -n "$p" ]
+do
+  if [[ $p =~ $regex ]]
+  then
+        filename="${BASH_REMATCH[1]}"
+  fi
+done < CPackConfig.cmake
+
+echo $filename
+
+fullfilename="${BUILDDIR}/${filename}.tar.gz"
+
+echo "Package full filename: $fullfilename"
+
+if [ ! -d "$ARTIFACTDIR" ]; then
+  mkdir -p "$ARTIFACTDIR"
+fi
+
+cp "$fullfilename" "$ARTIFACTDIR"
+
diff --git a/README.md b/README.md
index eb8b69a04178bd0d1f3702522c4ed854d43058fe..5e8b9659aa8a1600d091fc3d82c13ba46c8954a4 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,9 @@
 
 A 3D Slicer extension offering a brain extraction algorithm for MRI structural images. This extension has the ROBEX brain extraction implementation which was adapted from the [original paper](http://dx.doi.org/10.1109/TMI.2011.2138152).
 
+# Download
+[Linux amd64 - Slicer 4.10.2](https://gitlab.uspdigital.usp.br/csim/robexbrainextraction/-/jobs/artifacts/master/raw/public/0ae446f-linux-amd64-ROBEXBrainExtraction-git1592edf-2020-06-01.tar.gz?job=package)
+
 # Licenses
 
 Please, note that this code is under the following licenses, according to the original [ROBEX method](https://www.nitrc.org/projects/robex/)