Skrypty kompilacji
Ważne
Program Visual Studio App Center ma zostać wycofany 31 marca 2025 r. Mimo że możesz nadal używać programu Visual Studio App Center do momentu jej pełnego wycofania, istnieje kilka zalecanych alternatyw, do których można rozważyć migrację.
Dowiedz się więcej o osiach czasu pomocy technicznej i alternatywach.
Uwaga
Skrypty kompilacji umożliwiają dostosowywanie kompilacji; ale problemy występujące podczas tego procesu wykraczają poza zakres pomocy technicznej centrum aplikacji. Jeśli jeden ze skryptów kończy się niepowodzeniem, cała kompilacja zgłosi błąd, nawet jeśli kompilacja podstawowa do tego punktu zakończyła się pomyślnie.
Niestandardowe skrypty kompilacji, które są uruchamiane na wstępnie zdefiniowanych etapach w czasie kompilacji: po sklonowania, przed kompilacją, po kompilacji. Umieść skrypty w formacie określonym poniżej obok pliku na poziomie projektu (.xcodeproj
, .csproj
, .sln
lub package.json
) lub pliku na poziomie modułu (build.gradle
) wybranego w konfiguracji kompilacji i uruchomimy je jako niestandardowe kroki kompilacji.
W centrum aplikacji aplikacje inne niż uwP są tworzone w systemie macOS, dzięki czemu mogą używać skryptów powłoki Bash. Aplikacje platformy UNIWERSALNEJ systemu Windows są oparte na systemie Windows, dzięki czemu mogą używać skryptów programu PowerShell. Wiele podobnych zadań można wykonać w obu formatach skryptów, ale w przypadku migracji między nimi może być konieczne przeprowadzenie konwersji. Na przykład powłoka Bash systemu macOS wymaga użycia zakończeń linii w stylu systemu UNIX (LF).
Kolekcję przykładów skryptów kompilacji można znaleźć w dedykowanym publicznym repozytorium GitHub. Możesz korzystać z przykładowych skryptów, modyfikować je lub przesyłać nowe żądania ściągnięcia za pomocą najbardziej przydatnych skryptów do użytku w pozostałej części społeczności.
Ostrzeżenie
Gdy usługa App Center wykryje skrypty kompilacji po raz pierwszy lub zmieni lokalizację skryptów lub zmienisz miejsce przechowywania cocoaPods; Zmiany należy zastosować, klikając przycisk Zapisz lub Zapisz & kompilacji w konfiguracji kompilacji. W takim przypadku centrum aplikacji uruchamia analizę, aby indeksować drzewo repozytorium i aktualizować definicję kompilacji.
Po sklonowanie
Skrypt po sklonowania jest uruchamiany natychmiast po sklonowanym repozytorium, ale zanim zrobimy coś innego na naszym końcu.
Aby uruchomić skrypty po sklonowaniach, dodaj następujący plik obok pliku projektu w repozytorium:
appcenter-post-clone.sh (powłoka Bash dla systemu 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 dla platformy UWP)
Wstępna kompilacja
Skrypt przed kompilacją jest uruchamiany przed rozpoczęciem rzeczywistej kompilacji. W przypadku aplikacji React Native skrypt jest uruchamiany przed wygenerowaniem map źródłowych. W przypadku innych platform działa po zainstalowaniu zależności, na przykład z nuGet, CocoaPods lub Carthage.
Aby uruchomić skrypty przed kompilacją, dodaj następujący plik obok pliku projektu w repozytorium:
appcenter-pre-build.sh (Bash dla systemu 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 dla platformy UWP)
Po kompilacji
Skrypt po kompilacji jest uruchamiany po zakończeniu kompilacji i skopiował wszystkie niezbędne artefakty do katalogu wyjściowego. Skrypt po kompilacji zostanie uruchomiony nawet wtedy, gdy kompilacja zakończy się niepowodzeniem.
Aby uruchomić skrypty po kompilacji, dodaj następujący plik obok pliku projektu w repozytorium:
appcenter-post-build.sh (Bash dla systemu 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 dla platformy UWP)
Zmienne środowiskowe
Aby ułatwić pisanie skryptów kompilacji, możesz użyć wstępnie zdefiniowanych, niestandardowych lub w skryscie zmiennych środowiskowych , aby uzyskać więcej informacji.