Select Git revision
.gitlab-ci.yml
-
Benoît Harrault authoredBenoît Harrault authored
.gitlab-ci.yml 2.27 KiB
image: cirrusci/flutter:latest
stages:
- update
- build-debug
- build-release
- deploy
update:
stage: update
script:
- flutter packages get
- flutter packages upgrade
interruptible: true
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
- echo sdk.dir=$ANDROID_SDK_PATH >> android/local.properties
- echo flutter.buildMode=release >> android/local.properties
# Android signing
- echo "$ANDROID_KEYSTORE_FILE" | base64 -d > android/app/my.keystore
- echo storeFile=my.keystore > android/key.properties
- echo storePassword=$ANDROID_KEYSTORE_PASSWORD >> android/key.properties
- echo keyAlias=$ANDROID_KEY_ALIAS >> android/key.properties
- echo keyPassword=$ANDROID_KEY_PASSWORD >> android/key.properties
# build flutter app
- 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
expire_in: 1 week
interruptible: true
android:deploy: