Sdílet prostřednictvím


Uvolnit sestavení

Důležité

Visual Studio App Center bylo vyřazeno 31. března 2025 s výjimkou funkcí Analýzy a diagnostiky, které se budou dál podporovat až do 30. června 2026. Další informace.

Nahrajte binární balíček aplikace do App Center a distribuujte ho. App Center podporuje distribuci balíčků pro Android, iOS, macOS, Windows a vlastní aplikace operačního systému. Verze můžete distribuovat jednotlivým testerům nebo skupinám testerů. U aplikací pro iOS a Android můžete také vydávat do obchodů, jako jsou Google Play, App Store a Intune. Viz Publikování do spotřebitelských a podnikových obchodů.

Na této stránce se dozvíte, jak vygenerovat binární soubor pro vydání a jak ho nahrát a vydat do skupin pomocí portálu, rozhraní příkazového řádku (CLI) a rozhraní API (Application Programming Interface).

Můžete také použít Azure DevOps nebo Jenkins:

Generování binárního balíčku aplikace

Nejprve musíte aplikaci zabalí do binárního souboru pro vydání. Tento soubor můžete vytvořit ručně.

Následující části vysvětlují, jak vytvořit soubory pro všechny typy aplikací, které App Center podporuje pro distribuci.

Poznámka:

Pokud nahrajete archiv (.zip, .ipa a další), celková nekomprimovaná velikost aplikace musí být menší než 4 GB.

Android

Pro Android musíte vytvořit podepsaný soubor aplikace nebo soubor APK. Úplné podrobnosti o tomto procesu najdete v oficiální dokumentaci Googlu k přípravě aplikace na vydání.

  1. Ujistěte se, že jste aktualizovali manifest a máte správně nakonfigurované sestavení Gradle.
  2. V Android Studiu zvolte Build>Generate Signed Bundle / APK a postupujte podle kroků v průvodci k sestavení sady aplikací nebo APK.

Android Studio uloží sady sestavených aplikací do název-projektu/název-modulu/build/outputs/bundle/ a také APKs do název-projektu/název-modulu/build/outputs/apk/.

Poznámka:

Když distribuujete sadu aplikací pro Android (AAB), App Center vygeneruje univerzální soubor APK, podepíše ho pomocí vygenerovaného podpisového klíče a distribuuje ho do zařízení.

iOS

Pro iOS musíte vytvořit balíček IPA pro vaši aplikaci. Úplné podrobnosti o tomto procesu najdete v oficiální dokumentaci společnosti Apple.

  1. Zaregistrujte identifikátory UDID pro všechna hardwarová zařízení ve vašem zřizovacím profilu.
  2. V Xcode přejděte doarchivu> a archivujte aplikaci.
  3. Exportujte archiv pomocí správného zřizovacího profilu.

macOS

Pro macOS musíte vytvořit balíček aplikace. App Center podporuje vydávání balíčků aplikací typu .app.zip, .pkg nebo .dmg. Úplné podrobnosti o tomto procesu najdete v oficiální dokumentaci k Apple macOS.

  1. Zaregistrujte jedno zařízení nebo zaregistrujte několik zařízení ve svém vývojářském účtu Apple.
  2. V Xcode přejděte doarchivu> a archivujte aplikaci.
  3. Exportujte archiv pomocí správného zřizovacího profilu.

Windows

App Center podporuje vydávání balíčků aplikací pro Windows typu .appx, .appxbundle, .appxupload, .msi, .msix, .msixbundle, .msixupload, nebo .zip. Úplné podrobnosti o tom, jak zabalit aplikaci ve formátech AppX nebo MSIX, najdete v oficiální dokumentaci k UPW microsoftu.

Vlastní operační systém

Archivace buildu pro aplikace s vlastním operačním systémem ve formátu .zip

Distribuce balíčku

Poznámka:

Všechny adresy URL install.appcenter.ms, které obsahují soubory ke stažení, jsou veřejně přístupné.

Pokud chcete balíček distribuovat pomocí App Center, přejděte do App Center, zvolte svou aplikaci, poté přejděte na Distribute>Groups a vyberte Novou verzi. Postupujte podle kroků v průvodci. Distribuce nové verze

V prvním kroku vyberte oblast uvolnění a vyhledejte soubor, který chcete nahrát, nebo soubor přetáhněte do oblasti. V závislosti na operačním systému vaší aplikace a příponě souboru vás App Center může požádat, abyste zadali verzi a číslo buildu pro vaši verzi. Zadejte informace a zvolte Další.

Poznámky k verzi můžete zahrnout jako součást verze, a to jak ve formátu prostého textu, tak ve formátu Markdownu. Zvolte Další.

Svou verzi můžete cílit na více distribučních skupin nebo testerů. App Center zpřístupní tuto verzi pro tyto testery a uživatele, kteří jsou součástí vybraných skupin. Zvolte Další.

Nastavení cílových destinací vydání

Při vydávání aplikace pro iOS můžete automaticky zřídit zařízení testerů. Zvolte Další.

Zkontrolujte vydání. Pokud vaše aplikace používá Distribute SDK, můžete nakonfigurovat App Center tak, aby bylo vydání povinné. Když App Center distribuuje verzi, odešle e-mailové oznámení o nové verzi všem testerům nastaveným v cílech. Na kartě revize se můžete rozhodnout, že nebudete informovat testery. Nakonec zvolte Distribuovat, aby se soubor zveřejnil testerům.

Distribuce pomocí rozhraní příkazového řádku App Center

Výstraha

K použití této funkce potřebujete rozhraní příkazového řádku App Center CLI 2.7 nebo novější.

Distribuujte svůj release pomocí příkazu appcenter distribute release v App Center CLI. Následující ukázkový příkaz distribuuje soubor volaný ~/releases/my_app-23.ipa do skupiny Beta testers aplikace My-App vlastněné David.

appcenter distribute release --app David/My-App --file ~/releases/my_app-23.ipa --group "Beta testers"

Distribuce pomocí rozhraní API

K distribuci vydané verze můžete volat rozhraní API služby App Center. Níže uvedený přístup je určen k popisu minimálního pracovního přístupu, mnoho úloh je možné dále přizpůsobit nebo automatizovat.

Ukázkovou implementaci si můžete prohlédnout tady: https://github.com/microsoft/appcenter-Xamarin.UITest-Demo/blob/main/ac-distribute.sh

Požadavky

  • Balíček aplikace pro nahrání a distribuci.
  • Získejte token rozhraní API. Token rozhraní API se používá k ověřování pro všechna volání rozhraní API služby App Center.
  • Název distribuční skupiny (nepovinný, pokud chybí nebo je neplatný, nahrávání se stále dokončí)
  • Identifikujte {owner_name} a {app_name} pro aplikaci, pro kterou chcete distribuovat vydání. Tyto identifikátory se používají v adrese URL pro volání rozhraní API. U aplikace vlastněné uživatelem může adresa URL v App Center vypadat takto: https://appcenter.ms/users/Example-User/apps/Example-App. Tady je {owner_name}, Example-User a je {app_name}, Example-App. Pro aplikaci vlastněnou organizací může být URL adresa jako https://appcenter.ms/orgs/Example-Org/apps/Example-App a {owner_name} by byla Example-Org.
Nahrát nové vydání

Nahrajte novou verzi pomocí těchto sekvenčních volání rozhraní API:

  1. Vytvoření nového vydání verze: Koncový bod pro volání je POST /v0.1/apps/{owner_name}/{app_name}/uploads/releases

        OWNER_NAME="Example-Org"
        APP_NAME="Example-App"
        API_TOKEN="Example-Token"
    
        curl -X POST "https://api.appcenter.ms/v0.1/apps/$OWNER_NAME/$APP_NAME/uploads/releases" -H  "accept: application/json" -H  "X-API-Token: $API_TOKEN" -H  "Content-Type: application/json" -H "Content-Length: 0"
    

    Odpověď bude vypadat přibližně takto, přičemž {VARIABLE_NAME} nahradí data jedinečná pro každé použití:

         {
             "id": "{ID}",
             "package_asset_id": "{PACKAGE_ASSET_ID}",
             "upload_domain": "https://file-aks.appcenter.ms",
             "token": "{TOKEN}",
             "url_encoded_token": "{URL_ENCODED_TOKEN}"
         }
    
  2. Zkopírujte parametry z odpovědi v předchozím kroku, protože většina z nich se používá v dalším kroku, včetně package_asset_id, & upload_domainurl_encoded_token.

    Určete velikost balíčku aplikace v bajtech. Doporučuje se použít příkaz, například wc -c ExampleApp.ipa k získání přesného počtu bajtů.

    MIME Type Nastavte pro content_type svoji aplikaci:

    • Android .apk používá typ dodavatele. application/vnd.android.package-archive
    • Android .aab používá typ dodavatele. application/x-authorware-bin
    • iOS používá obecný typ. application/octet-stream

    Poslední příkaz by měl vypadat přibližně takto:

    FILE_NAME="ExampleApp.apk"
    FILE_SIZE_BYTES=$(wc -c $RELEASE_FILE_LOCATION | awk '{print $1}')
    APP_TYPE='application/vnd.android.package-archive' # iOS uses `application/octet-stream` instead.
    
    METADATA_URL="https://file-aks.appcenter.ms/upload/set_metadata/$PACKAGE_ASSET_ID?file_name=$FILE_NAME&file_size=$FILE_SIZE_BYTES&token=$URL_ENCODED_TOKEN&content_type=$APP_TYPE"
    
     curl -s -d POST -H "Content-Type: application/json" -H "Accept: application/json" -H "X-API-Token: $API_TOKEN" "$METADATA_URL"
    

    Vrácený výstup by měl vypadat přibližně takto:

     {
         "error":false,
         "id":"{PACKAGE_ASSET_ID}",
         "chunk_size":4194304,
         "resume_restart":false,
         "chunk_list":[1,2,3,4,5],
         "blob_partitions":1,
         "status_code":"Success"
     }
    
  3. chunk_size Pomocí hodnoty, kterou nelze přizpůsobit, můžete aplikaci rozdělit do sekvenčních bloků dat pro nahrání do distribuce. Můžete například použít split nástroj takto:

    split -b $CHUNK_SIZE $RELEASE_FILE_LOCATION temp/split
    

    Tento příkaz generuje sekvenční soubory v temp adresáři s názvem splitaa, splitaba tak dále. Každý soubor je rozdělený v rámci limitu chunk_size .

  4. Dále je potřeba nahrát každou část rozděleného balíčku aplikace s příslušným komponentem:

    BLOCK_NUMBER=0
    
    for i in temp/*
    do
        BLOCK_NUMBER=$(($BLOCK_NUMBER + 1))
        CONTENT_LENGTH=$(wc -c "$i" | awk '{print $1}')
    
        UPLOAD_CHUNK_URL="https://file-aks.appcenter.ms/upload/upload_chunk/$PACKAGE_ASSET_ID?token=$URL_ENCODED_TOKEN&block_number=$BLOCK_NUMBER"
    
        curl -X POST $UPLOAD_CHUNK_URL --data-binary "@$i" -H "Content-Length: $CONTENT_LENGTH" -H "Content-Type: $CONTENT_TYPE"
    done
    
  5. Po dokončení nahrávání aktualizujte stav prostředku pro nahrání na uploadFinished.

    FINISHED_URL="https://file-aks.appcenter.ms/upload/finished/$PACKAGE_ASSET_ID?token=$URL_ENCODED_TOKEN"
    curl -d POST -H "Content-Type: application/json" -H "Accept: application/json" -H "X-API-Token: $API_TOKEN" "$FINISHED_URL"
    
    COMMIT_URL="https://api.appcenter.ms/v0.1/apps/$OWNER_NAME/$APP_NAME/uploads/releases/$ID"
    curl -H "Content-Type: application/json" -H "Accept: application/json" -H "X-API-Token: $API_TOKEN" \
    --data '{"upload_status": "uploadFinished","id": "$ID"}' \
    -X PATCH \
    $COMMIT_URL
    
  6. Po nahrání je krátké zpoždění, než se nahrávání označí jako dokončené. Proveďte dotaz na tento stav a získáte $RELEASE_ID pro následující krok.

    RELEASE_STATUS_URL="https://api.appcenter.ms/v0.1/apps/$OWNER_NAME/$APP_NAME/uploads/releases/$UPLOAD_ID"
    POLL_RESULT=$(curl -s -H "Content-Type: application/json" -H "Accept: application/json" -H "X-API-Token: $API_TOKEN" $RELEASE_STATUS_URL)
    RELEASE_ID=$(echo $POLL_RESULT | jq -r '.release_distinct_id')
    
    if [[ $RELEASE_ID == null ]];
    then
       echo "Failed to find release from appcenter"
       exit 1
    fi
    
  7. Nakonec sestavení uvolněte. Koncový bod, který je třeba zavolat, je PATCH /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}

    DISTRIBUTE_URL="https://api.appcenter.ms/v0.1/apps/$OWNER_NAME/$APP_NAME/releases/$RELEASE_ID"
    
    curl -H "Content-Type: application/json" -H "Accept: application/json" -H "X-API-Token: $API_TOKEN" \
    --data '{"destinations": [{ "name": "'"$DISTRIBUTION_GROUP"'"}] }' \    
    -X PATCH \
    $DISTRIBUTE_URL
    
Distribuovat vydání

Distribuujte nahranou verzi do testerů, skupin nebo obchodů a podívejte se na verzi na portálu App Center. Tři koncové body jsou:

Příklad pro skupiny:

    curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -H "X-API-Token: $API_TOKEN" -d "{ \"id\": "$DISTRIBUTION_GROUP_ID", \"mandatory_update\": false, \"notify_testers\": false}" 

ID distribuční skupiny najdete na stránce nastavení této skupiny.

Na žádost o distribuci do více cílů se zde odkazuje pro složitější scénáře: PATCH /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}

Re-Release sestavení

Pokud chcete uvolnit build do jiné distribuční skupiny, přejděte z libovolného místa v App Center na Distribuovat > vydané verze a pak vyberte verzi, kterou chcete znovu distribuovat. Otevře se stránka s podrobnostmi o verzi. Vyberte tlačítko Distribuovat v pravém horním rohu obrazovky a výběrem cíle spusťte proces opětovného uvolnění. Postupujte podle pokynů v průvodci a nakonec vyberte Distribuovat , aby se verze odeslala skupinám nebo testerům nebo úložišti.

Povinné aktualizace

Udělejte verzi aplikace povinnou, aby všichni uživatelé museli používat stejnou verzi. Když to uděláte, App Center nainstaluje vybranou aktualizaci na všechna zařízení testeru.

Verzi můžete nastavit jako povinnou, pouze pokud vaše aplikace používá sadu App Center Distribute SDK. Udělejte vydání povinným zaškrtnutím políčka Povinná aktualizace ve fázi kontroly distribuce vydání, nebo můžete použít rozhraní API.

Povinné verze můžete zobrazit v App Center tak, že otevřete aplikaci [Vaše aplikace] > Distribuce > verzí skupin>. Povinné verze jsou označené červenou tečkou.

Po úspěšném vydání budou mít testeři přístup k verzi prostřednictvím e-mailu, přihlášení k App Center nebo prostřednictvím přímého odkazu.

Odkazy na konkrétní verze najdete na stránce s vydáními pro soukromé destinace. tlačítko Nainstalovat

Poznámka:

Sady aplikací pro Android (AAB) jsou k dispozici ke stažení na stránce vydané verze kliknutím na tlačítko pro stažení. Pokud potřebujete instalovatelný formát souboru APK, použijte na svém zařízení instalační portál (https://install.appcenter.ms). Odkaz najdete pod vygenerovaným kódem QR vedle tlačítka pro stažení.

Na kartě vydání ve veřejných skupinách najdete odkazy na konkrétní verze, které směřují na veřejné cíle. Veřejný přímý odkaz