app/.gitlab-ci.yml
2021-08-15 18:20:24 +07:00

70 lines
No EOL
2.2 KiB
YAML

variables:
IOS_XCODE_PROJECT_NAME: "easy_learn"
FLAVOR: "production"
stages:
- archive
android:debug:
stage: archive
before_script:
- flutter packages get
- flutter clean
script:
- flutter doctor --android-licenses
- flutter build apk --flavor ${FLAVOR} --debug
artifacts:
paths:
- "**/**/**/**/**/**/*.apk"
expire_in: 1 day
android:release:
stage: archive
before_script:
- flutter packages get
- flutter clean
script:
- flutter doctor --android-licenses
- flutter build apk --flavor ${FLAVOR} --release
artifacts:
paths:
- "**/**/**/**/**/**/*.apk"
expire_in: 1 day
ios:debug:
stage: archive
before_script:
- flutter packages get
- flutter clean
script:
- flutter build ios --flavor ${FLAVOR}
- if [ -d archive ]; then rm -rf archive; fi && mkdir archive
- if [ -d artifact ]; then rm -rf artifact; fi && mkdir artifact
- export PLIST_DIRECTORY="ci-cd/iOS/${FLAVOR}/debug"
- cd ios
- pod install;
- xcodebuild clean archive -quiet -workspace ${IOS_XCODE_PROJECT_NAME}.xcworkspace -scheme ${FLAVOR} -archivePath "../archive/${IOS_XCODE_PROJECT_NAME}.xcarchive";
- xcodebuild -quiet -exportArchive -archivePath "../archive/${IOS_XCODE_PROJECT_NAME}.xcarchive" -exportPath ../artifact/ -exportOptionsPlist ${PLIST_DIRECTORY}/*.plist
artifacts:
paths:
- "artifact/*.ipa"
expire_in: 1 day
ios:release:
stage: archive
before_script:
- flutter packages get
- flutter clean
script:
- flutter build ios --flavor ${FLAVOR}
- if [ -d archive ]; then rm -rf archive; fi && mkdir archive
- if [ -d artifact ]; then rm -rf artifact; fi && mkdir artifact
- export PLIST_DIRECTORY="ci-cd/iOS/${FLAVOR}/release"
- cd ios
- pod install;
- xcodebuild clean archive -quiet -workspace ${IOS_XCODE_PROJECT_NAME}.xcworkspace -scheme ${FLAVOR} -archivePath "../archive/${IOS_XCODE_PROJECT_NAME}.xcarchive";
- xcodebuild -quiet -exportArchive -archivePath "../archive/${IOS_XCODE_PROJECT_NAME}.xcarchive" -exportPath ../artifact/ -exportOptionsPlist ${PLIST_DIRECTORY}/*.plist
artifacts:
paths:
- "artifact/*.ipa"
expire_in: 1 day