feat: Add retrieval and copying of Flutter .env file from Jenkins credentials for Android build.

This commit is contained in:
Van Leemput Dayron
2025-12-08 17:06:29 +01:00
parent d02a627b86
commit 7d38f54123

43
Jenkinsfile vendored
View File

@@ -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"
}
}
}