Scripts de génération
Important
La mise hors service de Visual Studio App Center est prévue pour le 31 mars 2025. Bien que vous puissiez continuer à utiliser Visual Studio App Center jusqu’à sa mise hors service complète, il existe plusieurs alternatives recommandées vers lesquelles vous pouvez envisager la migration.
En savoir plus sur les chronologies et les alternatives de support.
Notes
Les scripts de build vous permettent de personnaliser vos builds ; mais les problèmes que vous rencontrez au cours de ce processus dépassent le cadre de la prise en charge d’App Center. Si l’un de vos scripts échoue, l’ensemble de la build signale un échec, même si la build principale a réussi jusqu’à ce stade.
Vous pouvez ajouter des scripts de build personnalisés qui s’exécutent à des stades prédéfinis au moment de la génération : post-clone, pré-build, post-build. Placez les scripts au format spécifié ci-dessous en regard du fichier au niveau du projet (.xcodeproj
, .csproj
, .sln
ou package.json
) ou du fichier de niveau module (build.gradle
) que vous avez sélectionné dans la configuration de build, et nous les exécuterons en tant qu’étapes de génération personnalisées.
Dans App Center, les applications non-UWP sont basées sur macOS, ce qui leur permet d’utiliser des scripts Bash. Les applications UWP étant basées sur Windows, elles peuvent utiliser des scripts PowerShell. De nombreuses tâches similaires peuvent être effectuées dans l’un ou l’autre des formats de script, mais vous devrez peut-être effectuer une conversion si vous effectuez une migration entre ces deux formats. Par exemple, macOS Bash nécessite l’utilisation de terminaisons de ligne de style UNIX (LF).
Vous trouverez une collection d’exemples de script de build sur le dépôt GitHub public dédié. N’hésitez pas à utiliser les exemples de scripts, à les modifier ou à envoyer de nouvelles demandes de tirage avec vos scripts les plus utiles que le reste de la communauté peut utiliser.
Avertissement
Quand App Center détecte des scripts de build pour la première fois, que vous modifiez l’emplacement des scripts ou que vous modifiez l’emplacement de stockage des CocoaPods ; Vous devez appliquer les modifications en cliquant sur le bouton Enregistrer ou Enregistrer & Build dans la configuration de build. Dans ce cas, App Center exécute une analyse pour indexer l’arborescence de votre dépôt et met à jour la définition de build.
Post-clone
Le script post-clone s’exécute immédiatement après le clonage du dépôt, mais avant toute autre action de notre côté.
Pour exécuter des scripts après le clonage, ajoutez le fichier suivant en regard du fichier projet dans votre dépôt :
appcenter-post-clone.sh (Bash pour iOS & Android)
#!/usr/bin/env bash # Example: Clone a required repository git clone https://github.com/example/SomeProject # Example: Install App Center CLI npm install -g appcenter-cli
appcenter-post-clone.ps1 (PowerShell pour UWP)
Pré-build
Le script de pré-build s’exécute avant le démarrage réel de la build. Pour React Native applications, le script s’exécute avant de générer des mappages sources. Pour les autres plateformes, il s’exécute après avoir installé des dépendances, par exemple à partir de NuGet, CocoaPods ou Carthage.
Pour exécuter des scripts avant la génération, ajoutez le fichier suivant en regard du fichier projet dans votre dépôt :
appcenter-pre-build.sh (Bash pour iOS & Android)
#!/usr/bin/env bash # Example: Change bundle name of an iOS app for non-production if [ "$APPCENTER_BRANCH" != "main" ]; then plutil -replace CFBundleDisplayName -string "\$(PRODUCT_NAME) Beta" $APPCENTER_SOURCE_DIRECTORY/MyApp/Info.plist fi
appcenter-pre-build.ps1 (PowerShell pour UWP)
Après la génération
Le script post-build s’exécute une fois la build terminée et a copié tous les artefacts nécessaires dans le répertoire de sortie. Le script post-build s’exécute même en cas d’échec de la build.
Pour exécuter des scripts après la génération, ajoutez le fichier suivant en regard du fichier projet dans le dépôt :
appcenter-post-build.sh (Bash pour iOS & Android)
if [ "$AGENT_JOBSTATUS" == "Succeeded" ]; then HOCKEYAPP_API_TOKEN={API_Token} HOCKEYAPP_APP_ID={APP_ID} # Example: Upload main branch app binary to HockeyApp using the API if [ "$APPCENTER_BRANCH" == "main" ]; then curl \ -F "status=2" \ -F "ipa=@$APPCENTER_OUTPUT_DIRECTORY/MyApps.ipa" \ -H "X-HockeyAppToken: $HOCKEYAPP_API_TOKEN" \ https://rink.hockeyapp.net/api/2/apps/$HOCKEYAPP_APP_ID/app_versions/upload else echo "Current branch is $APPCENTER_BRANCH" fi fi
appcenter-post-build.ps1 (PowerShell pour UWP)
Variables d'environnement
Vous pouvez utiliser des variables d’environnement prédéfinies, personnalisées ou in-script pour vous aider à écrire vos scripts de build. Pour plus d’informations, consultez notre guide variables d’environnement .