diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 244147103c69a7df04987f7a6395065fcf344d87..77543d5f4ba3852fa0a4fc15701e1f4864133a8d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,7 +3,8 @@ image: cirrusci/flutter:latest
 stages:
   - test
   - update
-  - build
+  - build-debug
+  - build-release
   - deploy
 
 tests:
@@ -19,8 +20,37 @@ update:
     - flutter packages upgrade
   interruptible: true
 
-android:build:
-  stage: build
+android:build-debug:
+  stage: build-debug
+  script:
+    # Flutter local configuration
+    - echo flutter.sdk=$FLUTTER_PATH > android/local.properties
+    - echo sdk.dir=$ANDROID_SDK_PATH >> android/local.properties
+    - echo flutter.buildMode=debug >> android/local.properties
+    # Android signing
+    - echo "$ANDROID_DEBUG_KEYSTORE_FILE" | base64 -d > android/app/my.keystore
+    - echo storeFile=my.keystore > android/key.properties
+    - echo storePassword=$ANDROID_DEBUG_KEYSTORE_PASSWORD >> android/key.properties
+    - echo keyAlias=$ANDROID_DEBUG_KEY_ALIAS >> android/key.properties
+    - echo keyPassword=$ANDROID_DEBUG_KEY_PASSWORD >> android/key.properties
+    # build flutter app
+    - flutter packages get
+    - flutter clean
+    - flutter build apk --debug
+    # prepare artifact
+    - find . -name "*.apk" # where is my apk?
+  artifacts:
+    paths:
+      - build/app/outputs/apk/debug
+    expire_in: 1 week
+  interruptible: true
+
+android:build-release:
+  stage: build-release
+  only:
+    - master
+  dependencies:
+    - android:build-debug
   script:
     # Flutter local configuration
     - echo flutter.sdk=$FLUTTER_PATH > android/local.properties
@@ -33,10 +63,14 @@ android:build:
     - echo keyAlias=$ANDROID_KEY_ALIAS >> android/key.properties
     - echo keyPassword=$ANDROID_KEY_PASSWORD >> android/key.properties
     # build flutter app
-    - flutter build apk
+    - flutter packages get
+    - flutter clean
+    - flutter build apk --release
+    # prepare artifact
+    - find . -name "*.apk" # where is my apk?
   artifacts:
     paths:
-    - build/app/outputs/apk/release
+      - build/app/outputs/apk/release
     expire_in: 1 week
   interruptible: true
 
@@ -45,6 +79,6 @@ android:deploy:
   only:
     - master
   dependencies:
-    - android:build
+    - android:build-release
   script:
     - wget ${REPOSITORY_UPDATE_WEBHOOK}?token=${REPOSITORY_TOKEN}