diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index da96f91a969105ba0f5d9d94c6924a137dd311da..29ebcbadcfeae7e004805b2e7c96a67321925594 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -6,11 +6,72 @@ variables:
 stages:
   - build
 
-build:
+.target: &target
   stage: build
   script:
-    - ./buildall.sh
+    - make -C gluon update GLUON_SITEDIR="$CI_PROJECT_DIR"
+    - make -C gluon GLUON_SITEDIR="$CI_PROJECT_DIR" GLUON_TARGET="$GLUON_TARGET" V=1
   artifacts: 
     paths:
       - gluon/output/
     expire_in: 1 day
+ 
+target:ar71xx-generic:
+  <<: *target
+  variables:
+    GLUON_TARGET: ar71xx-generic
+ 
+target:ar71xx-nand:
+  <<: *target
+  variables:
+    GLUON_TARGET: ar71xx-nand
+ 
+target:ar71xx-tiny:
+  <<: *target
+  variables:
+    GLUON_TARGET: ar71xx-tiny
+ 
+target:brcm2708-bcm2708:
+  <<: *target
+  variables:
+    GLUON_TARGET: brcm2708-bcm2708
+ 
+target:brcm2708-bcm2709:
+  <<: *target
+  variables:
+    GLUON_TARGET: brcm2708-bcm2709
+ 
+target:mpc85xx-generic:
+  <<: *target
+  variables:
+    GLUON_TARGET: mpc85xx-generic
+ 
+target:ipq40xx:
+  <<: *target
+  variables:
+    GLUON_TARGET: ipq40xx
+ 
+target:ramips-mt7621:
+  <<: *target
+  variables:
+    GLUON_TARGET: ramips-mt7621
+ 
+target:ramips-mt76x8:
+  <<: *target
+  variables:
+    GLUON_TARGET: ramips-mt76x8
+ 
+target:x86-generic:
+  <<: *target
+  variables:
+    GLUON_TARGET: x86-generic
+ 
+target:x86-geode:
+  <<: *target
+  variables:
+    GLUON_TARGET: x86-geode
+ 
+target:x86-64:
+  <<: *target
+  variables:
+    GLUON_TARGET: x86-64