Vydání sestavení

Důležité

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

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

Nahrajte binární balíček aplikace do App Center, abyste ho mohli distribuovat. App Center podporuje distribuci balíčků pro Android, iOS, macOS, Windows a vlastní aplikace operačního systému. Vydané verze můžete distribuovat jednotlivým testerům nebo skupinám testerů. Pro aplikace pro iOS a Android můžete také vydat do obchodů, jako je 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 aplikačního programovacího rozhraní (API).

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

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

Nejprve je nutné aplikaci zabalí do binárního souboru pro vydání. Tento soubor můžete vytvořit ručně nebo můžete použít App Center Build. Sestavení můžete nakonfigurovat tak, aby se automaticky distribuuje v konfiguraci sestavení větve.

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

Poznámka

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

Android

V případě Androidu musíte vytvořit podepsanou sadu aplikací nebo soubor APK. Úplné podrobnosti o tomto procesu najdete v oficiální dokumentaci Společnosti Google 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 pokynů průvodce k sestavení sady aplikací nebo APK.

Android Studio umístí sady sestavených aplikací do názvu projektu/název_modulu/build/outputs/bundle/ a sady APK do názvu 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 vygenerovaným podpisovým klíčem 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 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 do archivu produktů> a aplikaci archivujte.
  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 systému Apple macOS.

  1. Zaregistrujte jedno zařízení nebo více zařízení ve svém vývojářském účtu Apple.
  2. V Xcode přejděte do archivu produktů> a aplikaci archivujte.
  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, .msixuploadnebo .zip. Úplné podrobnosti o tom, jak zabalit aplikaci ve formátech AppX nebo MSIX, najdete v oficiální dokumentaci k Microsoft UPW.

Vlastní operační systém

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

Distribuce balíčku

Poznámka

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

Pokud chcete distribuovat balíček pomocí App Center, přejděte na App Center, přejděte do aplikace, pak přejděte na Distribuovat>skupiny a vyberte Nová verze. Postupujte podle pokynů průvodce. Distribuce nové verze

V prvním kroku zvolte oblast Vydaná verze a vyhledejte soubor, který chcete nahrát, nebo ho 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 o zadání verze a čísla buildu pro vaši verzi. Zadejte informace a zvolte Další.

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

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

Nastavení cílů vydaných verzí

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

Zkontrolujte verzi. Pokud vaše aplikace používá sadu SDK Pro distribuci, můžete nakonfigurovat App Center tak, aby byla verze povinná. Když App Center distribuuje vydání, 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 testerům nebudete upozorňovat. Nakonec zvolte Distribuovat a uvolněte soubor pro testery.

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

Upozornění

K použití této funkce potřebujete App Center CLI 2.7 nebo novější.

Distribuujte appcenter distribute release vydání pomocí příkazu v rozhraní příkazového řádku app center. Následující ukázkový příkaz distribuuje soubor s názvem ~/releases/my_app-23.ipa do skupiny Beta testers aplikace My-App vlastněné společností 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 má za cíl popsat minimální pracovní přístup, řadu úloh je možné dále přizpůsobit nebo automatizovat.

Ukázkovou implementaci najdete tady: https://github.com/microsoft/appcenter-Xamarin.UITest-Demo/blob/main/ac-distribute.sh

Požadavky

  • Balíček aplikace k 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 (volitelné, pokud chybí nebo je neplatný, nahrávání se stále dokončí)
  • {owner_name} Určete a {app_name} pro aplikaci, pro kterou chcete distribuovat verzi. 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. {owner_name} Tady je Example-User a je {app_name}Example-App. V případě aplikace vlastněné organizací může být https://appcenter.ms/orgs/Example-Org/apps/Example-App adresa URL a {owner_name} adresa by mohla být Example-Org.
Nahrát novou verzi

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

  1. Vytvoření nového nahrání vydané verze: Koncový bod, který se má volat, 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.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žije v dalším kroku, včetně package_asset_id, upload_domain & url_encoded_token.

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

    Nastavte pro MIME Type na content_type základě vaší aplikace:

    • 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

    Konečný 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.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 nahrávání aplikace rozdělit na sekvenční bloky 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 vygeneruje sekvenční soubory v adresáři temp s názvem splitaa, splitabatd. Každý soubor se rozdělí v rámci limitu chunk_size .

  4. Dále musíte nahrát každý blok rozděleného balíčku aplikace s příslušným blokem:

    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.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ávání na uploadFinished.

    FINISHED_URL="https://file.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í se nahrávání označí jako dokončené s krátkou prodlevou. Pokud chcete získat $RELEASE_ID pro další krok dotaz na tento stav:

    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ý se má volat , 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
    
Distribuce vydané verze

Distribuujte nahranou verzi testerům, skupinám nebo obchodům, abyste ji viděli na portálu App Center. Jsou to tři koncové body:

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.

V případě složitějších scénářů se zde odkazuje na požadavek na distribuci do více cílů: PATCH /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}

Re-Release sestavení

Pokud chcete sestavení vydat do jiné distribuční skupiny, přejděte na libovolném místě v App Center na Distribuovat > vydané verze a pak znovu vyberte verzi, kterou chcete 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 vydání. Postupujte podle kroků v průvodci a nakonec vyberte Distribuovat , aby se verze odeslala skupinám, testerům nebo úložišti.

Povinné Aktualizace

Nastavte verzi jako povinnou, aby všichni uživatelé spouštěli stejnou verzi vaší aplikace. Když to uděláte, App Center nainstaluje vybranou aktualizaci na všechna testerová zařízení.

Verzi můžete nastavit jako povinnou jenom v případě, že vaše aplikace používá sadu App Center Distribute SDK. Nastavte verzi jako povinnou zaškrtnutím políčka Povinná aktualizace ve fázi kontroly distribuce vydané verze nebo můžete použít rozhraní API.

Povinné verze můžete zobrazit v App Center tak, že otevřete možnost [Vaše aplikace] > Distribuovat > vydané verze skupin>. Povinné verze jsou označeny č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 vydaných verzí pro privátní cíle. Tlačítko Nainstalovat

Poznámka

Sady aplikací pro Android (AAB) jsou k dispozici ke stažení na stránce 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í.

Odkazy na konkrétní verze do veřejných cílů najdete na kartě vydaných verzí ve veřejných skupinách. Veřejný přímý odkaz