diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..e27968c9706ebfe5de9b31fa7165cbda288a55aa
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,39 @@
+image: openjdk:8-jdk-slim
+
+stages:
+  - test
+  - deploy
+
+variables:
+  GRADLE_OPTIONS: --no-daemon --info --stacktrace --warning-mode=all
+
+cache:
+  paths:
+    - .gradle/wrapper
+    - .gradle/caches
+
+before_script:
+  - export GRADLE_USER_HOME=`pwd`/.gradle
+
+tests:
+  stage: test
+  script: ./gradlew ${GRADLE_OPTIONS} check
+
+tests:jdk-11:
+  extends: tests
+  image: openjdk:11-jdk-slim
+
+tests:jdk-17:
+  extends: tests
+  image: openjdk:17-jdk-slim
+
+publish:
+  stage: deploy
+  script:
+    - openssl aes-256-cbc -pass "env:ENCRYPTION_PASSWORD" -d -in secring.gpg.enc -out secring.gpg
+    - openssl aes-256-cbc -pass "env:ENCRYPTION_PASSWORD" -d -in pubring.gpg.enc -out pubring.gpg
+    - openssl aes-256-cbc -pass "env:ENCRYPTION_PASSWORD" -d -in gradle.properties.enc -out gradle.properties
+    - ./gradlew ${GRADLE_OPTIONS} uploadArchives
+  only:
+    - master@general/stups/tlc4b
+    - develop@general/stups/tlc4b
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 3f20a41db1000790713dc06024b86a75edf61418..0000000000000000000000000000000000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-language: java
-script: TERM=dumb ./gradlew --no-daemon --console verbose --stacktrace build
-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
-after_success: "[ $TRAVIS_BRANCH = 'master' ] && ./gradlew --no-daemon uploadArchives"
-env:
-  global:
-  - secure: EnIo0zaQsHATGH8S5L1W0EHtqgV2kx6bfSgxyhz7XU+xw5y2JLDn+Y3ZaX7EcMK25RkgM8nld5Se72QmpienkP7tQlb5KHdwC10KgwbHDq+IP9q+ZMD2V1MsMRdTilW/eTZ0SUohlV5g4t3KqIe8l3Hs1dzNL0YmCMtXwYHdfwk=