diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..8b64effd4e5f343025576b34950bde3cc5c5b30e
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,50 @@
+variables:
+  GIT_SUBMODULE_STRATEGY: recursive
+
+stages:
+  - build
+  - testing
+
+build:
+  stage: build
+  tags:
+    - das6
+  script:
+    - source scripts/load-modules.sh
+    - make -j
+
+test-example:
+  stage: testing
+  tags:
+    - das6
+  dependencies:
+    - build
+  script:
+    - source scripts/load-modules.sh
+    - make -j
+    - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/libtcc
+    - test/SimpleExample/SimpleExample
+
+test-correlator:
+  stage: testing
+  tags:
+    - das6
+  dependencies:
+    - build
+  script:
+    - source scripts/load-modules.sh
+    - make -j
+    - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/libtcc
+    - test/CorrelatorTest/CorrelatorTest -n 20
+
+test-correlator-opencl:
+  stage: testing
+  tags:
+    - das6
+  dependencies:
+    - build
+  script:
+    - source scripts/load-modules.sh
+    - make -j
+    - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/libtcc
+    - test/OpenCLCorrelatorTest/OpenCLCorrelatorTest
diff --git a/scripts/load-modules.sh b/scripts/load-modules.sh
new file mode 100644
index 0000000000000000000000000000000000000000..fe47548f95029892dc2ed51ed33ab25e3a1eacd4
--- /dev/null
+++ b/scripts/load-modules.sh
@@ -0,0 +1,2 @@
+module load spack/9.4.0
+module load cuda/11.5.1