diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..0e75c65ed7cfda70bce4652eda83adf3b895ef4b
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,33 @@
+image: eclipse-temurin:8
+
+variables:
+  GRADLE_ARGS: --no-daemon --stacktrace --warning-mode=all
+  GRADLE_USER_HOME: "$CI_PROJECT_DIR/.gradle"
+
+cache:
+  paths:
+    - .gradle/caches
+    - .gradle/notifications
+    - .gradle/wrapper
+
+tests:
+  stage: test
+  script: ./gradlew ${GRADLE_ARGS} check
+  artifacts:
+    paths:
+      - "*/build/reports"
+      - "*/build/test-results"
+    reports:
+      junit:
+        - "*/build/test-results/**/TEST-*.xml"
+    when: always
+
+publish:
+  stage: deploy
+  script:
+    - openssl aes-256-cbc -pass "env:ENCRYPTION_PASSWORD" -in secring.gpg.enc -out secring.gpg -d
+    - openssl aes-256-cbc -pass "env:ENCRYPTION_PASSWORD" -in pubring.gpg.enc -out pubring.gpg -d
+    - openssl aes-256-cbc -pass "env:ENCRYPTION_PASSWORD" -in gradle.properties.enc -out gradle.properties -d
+    - ./gradlew ${GRADLE_ARGS} uploadArchives
+  only:
+    - master@general/stups/probkodkod
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 2cd477dcc88d52a52c4625f86a11d09c647b98dc..0000000000000000000000000000000000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-language: java
-
-jdk:
-  - oraclejdk8
-
-script: gradle check uploadArchives
-
-sudo: false
-
-install: /bin/true
-
-before_install:
-- openssl aes-256-cbc -pass pass:$ENCRYPTION_PASSWORD -in secring.gpg.enc -out secring.gpg
-  -d
-- openssl aes-256-cbc -pass pass:$ENCRYPTION_PASSWORD -in pubring.gpg.enc -out pubring.gpg
-  -d
-- openssl aes-256-cbc -pass pass:$ENCRYPTION_PASSWORD -in gradle.properties.enc -out
-  gradle.properties -d
-env:
-  global:
-    secure: faEzt9hgMdEfqBRwiKFbq9S1BbdUrllZMCL6ibFViIF2VZFEUWuD8MN0zFWRtOc7EJwzYWjWx8GwEa81F05eda/HgLXeVdzF6RMFTveDxZDgSYsjHWy/ug2moi6AzzLHI0Vp4bjxHJR8WPXOBaQr0zR78jmWucytZqMKANYltFizBz3Mt7ePzfLIc5gL80gKBWZlRL/uibDKbHeWCoWQ+JeByVNlQbzTfD2zJxeHePwNYOgVW4+qjEhgv7Ikpd2z+TNQ4zmZ7mKeJA81jNW7KWHjIJE80HJEPGfuWZR9OawzgfCnyfDh4u33eqWl8L6F78wMQYKoSDJrD7I2xqhBN5r9WbdLF2NYeNL/b76bblMhl6parygq/UwPNhMIHXrtHKoh4NCnFgltwF3HYHB7H/lzIwWYb9DuzIca7XWRPqNbrns88k1HfwQkVPL/sp04sXgAOOPgCruVBCPF7+1DyP2dCBuCwWRB4GgjRUt8srrvCbJbtiS4vzpuBxtHxd+8hNhxmHVek9c6/EpQ0YzDRrmAZ39hheJyBFdfjG30EnwWjFw0J6fD72YO+9xKAGuaxK3iA/PlX7O953oOsrD5P/m22F5Wk7AV6A6a6/FB6ekdOEOrqT25ci2H4nSModXECEHLNbqCvNZdYMucku3HXM5Oq6Y/HcHP+hCFt9XC50I=
-notifications:
-  slack:
-    secure: fW1jBD5L4LVS4Iz7xn8XKEdyWv9IBULYsWP4IttCvRH7BdodqkixYvtD+l2OSpqj2BdMA3PP07RhDiWu14mvlSswQ1Zjm/9RoreSA2EZaj/nYPoYTP4epnx2nZQ3kRrCauFJpw3o7ZKFX3YZcA9ggI1Q6NdzTvPCaO655050Z88/Umd+8hm6vudJAa28QY7fzBmdWdsOhbPaGraWfvLEFxaM5TBvsu1a2fF3GMzEvlxy2xPTzDR1o9/yBFrLUSNvyTqbJSGTjpqz379PmXizAaCAwpRvUdnPBG9NROPT2GPBFN7sQ3eZRqj2Xp5c5dKlM6ruCfnTIHAx5PKHF3DCvP7t+lLHjodiimE9px+z24aK4z7lT4IrZBbZD5yVFNJ/frtVy97HS5Rn028IbWbJRxq8x/a3NwvqFW0/76W91ukdtnJTBx7ZEM6v9CLrpClPknzPx/etKNd1f8grxtswbYb32HpDwiwNISCvJdCoJIVtC0xk/u1JzZsBaELVNHIVx+w4wA5unyN3UT1OLC8WNcnRTO1oe0UuLfry9WBB93Rl3bJauC/HWg02nJISxbl4MCu/sK6t9zCE0N8gKAuRxFQZHlJMuxNnSDb+Zn30kiKjysPNzlRSAqmYr7zEcK0D9JoVs1dMqb58vDWUAL9BzI/estEhLDJGg1R+hclurBE=
diff --git a/README.md b/README.md
index 7b4377bd59a59e189c7642f2bcddf275e6c0afe9..720af9f77de796ab486ddbe7504dce8031571504 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1 @@
 Kodkod Wrapper for ProB
-
-[![Build Status](https://travis-ci.org/hhu-stups/probkodkod.svg?branch=master)](https://travis-ci.org/hhu-stups/probkodkod)