1
0
Fork 0
mirror of https://gitlab.com/futo-org/fcast.git synced 2025-06-24 21:25:23 +00:00

Build and deploy Android Cloudflare compatibility.

This commit is contained in:
Koen 2023-06-28 12:36:49 +02:00
parent 56662e7e9f
commit e38dd7dedb
3 changed files with 35 additions and 19 deletions

View file

@ -1,6 +1,5 @@
stages:
- buildAndDeployApk
- buildAndDeployPlayStoreAab
- buildAndDeployAndroid
- deployWebsite
- buildAndDeployElectron

View file

@ -1,20 +1,7 @@
buildAndDeployApk:
stage: buildAndDeployApk
buildAndDeployAndroid:
stage: buildAndDeployAndroid
before_script:
- cd receivers/android
script:
- if [ -z "$ANDROID_VERSION_NAME" ] || [ -z "$ANDROID_VERSION_CODE" ]; then echo "Version name or code not specified. Skipping build."; exit 0; fi
- ./gradlew --stacktrace assembleRelease -PversionName=$ANDROID_VERSION_NAME -PversionCode=$ANDROID_VERSION_CODE
- cp ./app/build/outputs/apk/defaultFlavor/release/app-defaultFlavor-release.apk /var/www/html/fcast-release.apk
- echo $ANDROID_VERSION_CODE > /var/www/html/fcast-version.txt
when: manual
buildAndDeployPlayStoreAab:
stage: buildAndDeployPlayStoreAab
before_script:
- cd receivers/android
script:
- if [ -z "$ANDROID_VERSION_NAME" ] || [ -z "$ANDROID_VERSION_CODE" ]; then echo "Version name or code not specified. Skipping build."; exit 0; fi
- ./gradlew --stacktrace bundlePlaystoreRelease -PversionName=$ANDROID_VERSION_NAME -PversionCode=$ANDROID_VERSION_CODE
- cp ./app/build/outputs/bundle/playstoreRelease/app-playstore-release.aab /var/www/html/fcast-playstore-release.aab
- sh deploy.sh
when: manual

View file

@ -0,0 +1,30 @@
#!/bin/sh
if [ -z "$ANDROID_VERSION_NAME" ] || [ -z "$ANDROID_VERSION_CODE" ]; then echo "Version name or code not specified. Skipping build."; exit 0; fi
DOCUMENT_ROOT=/var/www/html
# Build content
echo "Building content..."
./gradlew --stacktrace assembleRelease -PversionName=$ANDROID_VERSION_NAME -PversionCode=$ANDROID_VERSION_CODE
./gradlew --stacktrace bundlePlaystoreRelease -PversionName=$ANDROID_VERSION_NAME -PversionCode=$ANDROID_VERSION_CODE
# Take site offline
echo "Taking site offline..."
touch $DOCUMENT_ROOT/maintenance.file
# Swap over the content
echo "Deploying content..."
echo $ANDROID_VERSION_CODE > /var/www/html/fcast-version.txt
cp ./app/build/outputs/apk/defaultFlavor/release/app-defaultFlavor-release.apk /var/www/html/fcast-release.apk
cp ./app/build/outputs/bundle/playstoreRelease/app-playstore-release.aab /var/www/html/fcast-playstore-release.aab
# Notify Cloudflare to wipe the CDN cache
echo "Purging Cloudflare cache..."
curl -X POST "https://api.cloudflare.com/client/v4/zones/$CLOUDFLARE_ZONE_ID/purge_cache" \
-H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{"purge_everything":true}'
# Take site back online
echo "Bringing site back online..."
rm $DOCUMENT_ROOT/maintenance.file