Sestavení skriptů

Důležité

31. března 2025 je naplánované vyřazení z provozu. I když můžete dál používat Visual Studio App Center, dokud ho úplně vyřadíte, existuje několik doporučených alternativ, na které můžete zvážit migraci.

Přečtěte si další informace o časových osách a alternativách podpory.

Poznámka

Skripty sestavení umožňují přizpůsobit sestavení. problémy, na které během tohoto procesu narazíte, jsou nad rámec podpory App Center. Pokud některý z vašich skriptů selhává, celé sestavení bude hlásit selhání, i když primární sestavení až do tohoto okamžiku bylo úspěšné.

Můžete přidat vlastní skripty sestavení, které se spouštějí v předdefinovaných fázích v době sestavení: po klonování, před sestavením, po sestavení. Umístěte skripty v níže uvedeném formátu vedle souboru na úrovni projektu (.xcodeproj, .csproj, .slnnebo package.json) nebo souboru na úrovni modulu (build.gradle), který jste vybrali v konfiguraci sestavení, a my je spustíme jako vlastní kroky sestavení.

V App Center jsou aplikace jiné než UPW postavené na macOS, takže můžou používat skripty Bash. Aplikace pro UPW jsou založené na Windows, takže můžou používat skripty PowerShellu. Mnoho podobných úloh je možné provádět v libovolném formátu skriptu, ale při migraci mezi nimi může být potřeba provést určitý převod. Například macOS Bash vyžaduje použití zakončení čar ve stylu UNIX (LF).

Kolekci příkladů skriptů sestavení najdete ve vyhrazeném veřejném úložišti GitHub. Nebojte se používat ukázkové skripty, upravovat je nebo odesílat nové žádosti o přijetí změn s nejužitečnějšími skripty, které bude používat zbytek komunity.

Upozornění

Když App Center poprvé rozpozná skripty sestavení, změníte umístění skriptů nebo změníte umístění skriptů CocoaPods. Změny musíte použít kliknutím na tlačítko Uložit nebo Uložit & Sestavení v konfiguraci sestavení. Když to uděláte, App Center spustí analýzu indexování stromu úložiště a aktualizuje definici sestavení.

Uložení zjištěných skriptů

Poklonování

Skript po klonování se spustí okamžitě po naklonování úložiště, ale než na naší straně uděláme něco jiného.

Pokud chcete spustit skripty po klonování, přidejte následující soubor vedle souboru projektu v úložišti:

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

Před sestavením

Skript před sestavením se spustí před spuštěním skutečného sestavení. U React Native aplikací se skript spustí před generováním map zdroje. Pro jiné platformy se spustí po instalaci závislostí, například z NuGetu, CocoaPods nebo Carthage.

Pokud chcete spustit skripty před sestavením, přidejte následující soubor vedle souboru projektu v úložišti:

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

Po sestavení

Skript po sestavení se spustí po dokončení sestavení a zkopíruje všechny potřebné artefakty do výstupního adresáře. Skript po sestavení se spustí i v případě, že sestavení selže.

Pokud chcete skripty spouštět po sestavení, přidejte následující soubor vedle souboru projektu v úložišti:

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

Proměnné prostředí

K psaní skriptů sestavení můžete použít předdefinované, vlastní proměnné prostředí nebo proměnné prostředí ve skriptu. Další informace najdete v našem průvodci proměnnými prostředí .