Partager via


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, .slnou 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.

Enregistrer les scripts détectés

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 .