43 lines
2.0 KiB
YAML
43 lines
2.0 KiB
YAML
stages:
|
|
- build
|
|
|
|
variables:
|
|
ANDROID_SDK_ROOT: "/root/Android/Sdk"
|
|
ANDROID_HOME: "/root/Android/Sdk"
|
|
GRADLE_USER_HOME: "$CI_PROJECT_DIR/.gradle"
|
|
|
|
image: ubuntu:20.04
|
|
|
|
before_script:
|
|
# Installer Java, SDK tools et dépendances
|
|
- apt-get update -qq && apt-get install -qq -y openjdk-17-jdk wget unzip
|
|
- wget https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -O android-commandlinetools.zip
|
|
- mkdir -p $ANDROID_SDK_ROOT/cmdline-tools
|
|
- unzip android-commandlinetools.zip -d $ANDROID_SDK_ROOT/cmdline-tools
|
|
- mv $ANDROID_SDK_ROOT/cmdline-tools/cmdline-tools $ANDROID_SDK_ROOT/cmdline-tools/tools
|
|
- mkdir -p $ANDROID_SDK_ROOT/licenses
|
|
# Ajouter les hashes de licences nécessaires
|
|
- echo "8933bad161af4178b1185d1a37fbf41ea5269c55" > $ANDROID_SDK_ROOT/licenses/android-sdk-license
|
|
- echo "d56f5187479451eabf01fb78af6dfcb131a6481e" >> $ANDROID_SDK_ROOT/licenses/android-sdk-license
|
|
- echo "24333f8a63b6825ea9c5514f83c2829b004d1fee" > $ANDROID_SDK_ROOT/licenses/android-sdk-preview-license
|
|
- echo "84831b9409646a918e30573bab4c9c91346d8abd" >> $ANDROID_SDK_ROOT/licenses/android-sdk-license # License supplémentaire pour certaines versions
|
|
- echo "604e1f9ac365a509d1554b6a3c403ccaa08a7e8d" >> $ANDROID_SDK_ROOT/licenses/android-sdk-license # License pour build-tools 34.x
|
|
- $ANDROID_SDK_ROOT/cmdline-tools/tools/bin/sdkmanager --update
|
|
# Installer les plateformes et outils nécessaires
|
|
- $ANDROID_SDK_ROOT/cmdline-tools/tools/bin/sdkmanager "platforms;android-30" "build-tools;30.0.3" "platforms;android-34" "build-tools;34.0.0"
|
|
|
|
build-apk:
|
|
stage: build
|
|
script:
|
|
- echo "Téléchargement des dépendances..."
|
|
- sed -i 's/\r$//' gradlew
|
|
- chmod +x ./gradlew
|
|
- ./gradlew dependencies
|
|
- echo "Construction de l'APK..."
|
|
- ./gradlew assembleDebug # ou assembleRelease pour un APK de production
|
|
artifacts:
|
|
paths:
|
|
- app/build/outputs/apk/debug/*.apk
|
|
rules:
|
|
- if: '$CI_COMMIT_BRANCH == "master" && $CI_COMMIT_MESSAGE =~ /build/'
|