diff --git a/debian/gitlab-ci.yml b/debian/gitlab-ci.yml
index eba6f0e0e3da93e514a581a68c4c2681b1c5cc21..3b2eaba27638ab3240c5f296687044aa0828c0da 100644
--- a/debian/gitlab-ci.yml
+++ b/debian/gitlab-ci.yml
@@ -117,20 +117,43 @@ build:devel:
         - |
             set -eux
 
-            apt-get -y --no-install-recommends install \
-            clang \
-            clang-tools \
-            ${NULL+}
-
             mkdir -p -m700 "${STEAM_CI_TMPDIR}"
             export TMPDIR="${STEAM_CI_TMPDIR}"
 
             mkdir -p _build
-            meson --werror -Dman=true _build/devel
+            meson \
+                -Dman=true \
+                --werror \
+                _build/devel
             ninja -C _build/devel
             ninja -C _build/devel install
             meson test --verbose -C _build/devel
 
+    artifacts:
+        paths:
+            - _build/devel/meson-logs/*.txt
+        when: always
+
+build:clang:
+    stage: build
+    tags:
+        - docker
+        - linux
+    rules:
+        - if: '$DEVEL_DOCKER_REGISTRY != "" && $DEVEL_DOCKER_IMAGE != ""'
+    image: "${DEVEL_DOCKER_REGISTRY}/${DEVEL_DOCKER_IMAGE}"
+    script:
+        - |
+            set -eux
+
+            apt-get -y --no-install-recommends install \
+            clang \
+            clang-tools \
+            ${NULL+}
+
+            mkdir -p -m700 "${STEAM_CI_TMPDIR}"
+            export TMPDIR="${STEAM_CI_TMPDIR}"
+
             export CC=clang
             export CXX=clang++
 
@@ -140,13 +163,11 @@ build:devel:
                 --werror \
                 _build/clang-asan
             ninja -C _build/clang-asan
-            ninja -C _build/clang-asan scan-build
             ninja -C _build/clang-asan install
             meson test --verbose -C _build/clang-asan
 
     artifacts:
         paths:
-            - _build/devel/meson-logs/*.txt
             - _build/clang-asan/meson-logs/*.txt
         when: always