From 7d38f54123533765ca19c46e42974101edfe0db8 Mon Sep 17 00:00:00 2001 From: Van Leemput Dayron Date: Mon, 8 Dec 2025 17:06:29 +0100 Subject: [PATCH] feat: Add retrieval and copying of Flutter .env file from Jenkins credentials for Android build. --- Jenkinsfile | 43 ++++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6d78d60..396fa8f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -30,27 +30,28 @@ pipeline { } stage('Build & Deploy Android') { - steps { - // On injecte les fichiers secrets temporairement - withCredentials([ - file(credentialsId: 'android-keystore-file', variable: 'KEYSTORE_PATH'), - file(credentialsId: 'google-play-json', variable: 'GOOGLE_JSON') - ]) { - script { - // 1. Créer le fichier key.properties pour Gradle - // Note : Assurez-vous que votre 'keyAlias' est bien 'key0' (défaut) ou changez-le ici - sh """ - echo 'storePassword=$STORE_PASS' > android/key.properties - echo 'keyPassword=$KEY_PASS' >> android/key.properties - echo 'keyAlias=upload' >> android/key.properties - echo 'storeFile=$KEYSTORE_PATH' >> android/key.properties - """ - - // 2. Lancer Fastlane - dir('android') { - // On passe le chemin du JSON via une variable d'environnement à Fastlane - sh "GOOGLE_JSON_KEY_PATH='$GOOGLE_JSON' fastlane deploy_internal" - } + steps { + withCredentials([ + file(credentialsId: 'android-keystore-file', variable: 'KEYSTORE_PATH'), + file(credentialsId: 'google-play-json', variable: 'GOOGLE_JSON'), + // 1. On récupère le fichier .env stocké dans Jenkins + file(credentialsId: 'flutter-env-file', variable: 'ENV_FILE_REF') + ]) { + script { + // 2. On copie le fichier secret vers la racine du workspace sous le nom ".env" + sh 'cp $ENV_FILE_REF .env' + + // ... Votre code existant pour key.properties ... + sh """ + echo storePassword=$STORE_PASS > android/key.properties + echo keyPassword=$KEY_PASS >> android/key.properties + echo keyAlias=upload >> android/key.properties + echo storeFile=$KEYSTORE_PATH >> android/key.properties + """ + + // ... Lancer Fastlane ... + dir('android') { + sh "GOOGLE_JSON_KEY_PATH='$GOOGLE_JSON' fastlane deploy_internal" } } }