diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c7199f4d7e29bffb1dd5f3fb5babfa0875a19ab8
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,29 @@
+image: buster:latest
+
+cache:
+  key: ${CI_COMMIT_REF_SLUG}
+  paths:
+    - vendor/
+
+before_script:
+  - apt-get update -yqq
+  - apt-get install zlib1g-dev lua5.2 build-essential unzip libncurses-dev gawk subversion git realpath libssl-dev -yqq
+
+variables:
+  DOCKER_DRIVER: overlay2
+
+Settings:
+  script:
+  - ./buildscript selectbsp bsp/board_ar71xx.bsp
+  - ./buildscript selectcommunity community/franken.cfg
+
+Prepare:
+  script:
+  - ./buildscript prepare
+
+Build:
+  only:
+    variables:
+      - $CI_COMMIT_MESSAGE =~ /do_build/
+  script:
+  - ./buildscript build