Condividi tramite


Script di compilazione

Importante

Visual Studio App Center è previsto per il ritiro il 31 marzo 2025. Anche se è possibile continuare a usare Visual Studio App Center fino a quando non viene completamente ritirato, esistono diverse alternative consigliate che è possibile considerare la migrazione a.

Altre informazioni sulle sequenze temporali di supporto e sulle alternative.

Nota

Gli script di compilazione consentono di personalizzare le compilazioni; ma i problemi riscontrati durante tale processo sono superiori all'ambito del supporto di App Center. Se uno degli script ha esito negativo, l'intera compilazione segnala un errore, anche se la compilazione primaria ha avuto esito positivo.

È possibile aggiungere script di compilazione personalizzati eseguiti in fasi predefinite durante il periodo di compilazione: post-clone, pre-build, post-build. Inserire gli script con il formato specificato di seguito accanto al file a livello di progetto (.xcodeproj, .csproj.sln, o package.json) o al file a livello di modulo (build.gradle) selezionato nella configurazione di compilazione e verranno eseguiti come passaggi di compilazione personalizzati.

In App Center le app non UWP sono basate su macOS, in modo che possano usare script Bash. Le app UWP sono basate su Windows, in modo che possano usare script di PowerShell. Molte attività simili possono essere eseguite in entrambi i formati di script, ma potrebbe essere necessario eseguire alcune conversioni se si esegue la migrazione tra di esse. Ad esempio, macOS Bash richiede l'uso delle terminazioni di linea in stile UNIX (LF).

È possibile trovare una raccolta di esempi di script di compilazione nel repository GitHub pubblico dedicato. È possibile usare gli script di esempio, modificarli o inviare nuove richieste pull con gli script più utili per il resto della community da usare.

Avviso

Quando App Center rileva gli script di compilazione per la prima volta o si modifica il percorso degli script oppure si modifica la posizione in cui vengono archiviati CocoaPods; è necessario applicare le modifiche facendo clic sul pulsante Salva o Salva & Compilazione nella configurazione della compilazione. Quando si esegue questa operazione, App Center esegue un'analisi per indicizzare l'albero del repository e aggiornare la definizione di compilazione.

Salva script rilevati

Post-clone

Lo script post-clone viene eseguito immediatamente dopo la clonazione del repository, ma prima di eseguire qualsiasi altra operazione alla fine.

Per eseguire script post-clone, aggiungere il file seguente accanto al file di progetto nel repository:

  • appcenter-post-clone.sh (Bash per 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 per UWP)

Pre-compilazione

Lo script di pre-compilazione viene eseguito prima dell'avvio della compilazione effettiva. Per React Native app, lo script viene eseguito prima di generare mappe di origine. Per altre piattaforme, viene eseguito dopo l'installazione delle dipendenze, ad esempio da NuGet, CocoaPods o Carthage.

Per eseguire script di pre-compilazione, aggiungere il file seguente accanto al file di progetto nel repository:

  • appcenter-pre-build.sh (Bash per 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 per UWP)

Post-compilazione

Lo script post-compilazione viene eseguito al termine della compilazione e copiato tutti gli elementi necessari nella directory di output. Lo script post-compilazione verrà eseguito anche se la compilazione ha esito negativo.

Per eseguire script post-build, aggiungere il file seguente accanto al file di progetto nel repository:

  • appcenter-post-build.sh (Bash per 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 per UWP)

Variabili di ambiente

È possibile usare variabili di ambiente predefinite, personalizzate o in-script per scrivere gli script di compilazione, vedere la guida alle variabili di ambiente per altre informazioni.