Freigeben über


Buildskripts

Wichtig

Visual Studio App Center wird am 31. März 2025 eingestellt. Sie können Visual Studio App Center zwar weiterhin verwenden, bis es vollständig eingestellt ist, es gibt jedoch mehrere empfohlene Alternativen, zu denen Sie eine Migration in Betracht ziehen können.

Erfahren Sie mehr über Supportzeitpläne und Alternativen.

Hinweis

Mithilfe von Buildskripts können Sie Ihre Builds anpassen. Probleme, die Sie während dieses Prozesses finden, gehen jedoch über den Bereich der App Center-Unterstützung hinaus. Wenn eines Ihrer Skripts fehlschlägt, meldet der gesamte Build einen Fehler, selbst wenn der primäre Build bis zu diesem Punkt erfolgreich war.

Sie können benutzerdefinierte Buildskripts hinzufügen, die während der Buildzeit in vordefinierten Phasen ausgeführt werden: post-clone, pre-build, post-build. Platzieren Sie die Skripts im unten angegebenen Format neben der Datei auf Projektebene (.xcodeproj, .csproj, .slnoder ), diebuild.gradlepackage.json Sie in der Buildkonfiguration ausgewählt haben, und führen Sie sie als benutzerdefinierte Buildschritte aus.

In App Center basieren Nicht-UWP-Apps auf macOS, sodass sie Bash-Skripts verwenden können. UWP-Apps basieren auf Windows, sodass sie PowerShell-Skripts verwenden können. Viele ähnliche Aufgaben können in beiden Skriptformaten ausgeführt werden, aber Sie müssen möglicherweise eine Konvertierung durchführen, wenn Sie zwischen ihnen migrieren. Beispielsweise erfordert macOS Bash die Verwendung von UNIX-artigen Zeilenenden (LF).

Eine Sammlung von Buildskriptbeispielen finden Sie im dedizierten öffentlichen GitHub-Repository. Sie können die Beispielskripts verwenden, sie ändern oder neue Pull Requests mit Ihren nützlichsten Skripts für den Rest der Community übermitteln.

Warnung

Wenn App Center Buildskripts zum ersten Mal erkennt, wenn Sie den Speicherort von Skripts ändern oder den Speicherort von CocoaPods ändern; Sie müssen die Änderungen anwenden, indem Sie in der Buildkonfiguration auf die Schaltfläche Speichern oder speichern & Erstellen klicken. Wenn Sie dies tun, führt App Center eine Analyse aus, um Ihre Repositorystruktur zu indizieren, und aktualisiert die Builddefinition.

Erkannte Skripts speichern

Nach dem Klonen

Das Skript nach dem Klonen wird unmittelbar nach dem Klonen des Repositorys ausgeführt, aber bevor wir etwas anderes auf unserer Seite tun.

Um Skripts nach dem Klonen auszuführen, fügen Sie die folgende Datei neben der Projektdatei in Ihrem Repository hinzu:

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

Voraberstellung

Das Vorabbuildskript wird ausgeführt, bevor der eigentliche Build gestartet wird. Für React Native-Apps wird das Skript vor dem Generieren von Quellzuordnungen ausgeführt. Für andere Plattformen wird sie ausgeführt, nachdem Abhängigkeiten installiert wurden, z. B. von NuGet, CocoaPods oder Carthage.

Um skriptvorbuilds auszuführen, fügen Sie die folgende Datei neben der Projektdatei in Ihrem Repository hinzu:

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

Nach dem Build

Das Skript nach dem Build wird ausgeführt, nachdem der Build abgeschlossen ist, und alle erforderlichen Artefakte in das Ausgabeverzeichnis kopiert. Das Skript nach dem Build wird auch dann ausgeführt, wenn der Build fehlschlägt.

Um Skripts nach dem Build auszuführen, fügen Sie die folgende Datei neben der Projektdatei im Repository hinzu:

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

Umgebungsvariablen

Sie können vordefinierte, benutzerdefinierte oder skriptinterne Umgebungsvariablen verwenden, um Ihre Buildskripts zu schreiben. Weitere Informationen finden Sie im Leitfaden zu Umgebungsvariablen .