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:
- Azure DevOps používá úlohu Distribuce app center (verze 3 nebo novější).
- Modul plug-in Jenkinse (verze 0.11.0+)
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í.
- Ujistěte se, že jste aktualizovali manifest a máte správně nakonfigurované sestavení Gradle.
- 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.
- Zaregistrujte identifikátory UDID pro všechna hardwarová zařízení ve vašem zřizovacím profilu.
- V Xcode přejděte do archivu produktů> a aplikaci archivujte.
- 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.
- Zaregistrujte jedno zařízení nebo více zařízení ve svém vývojářském účtu Apple.
- V Xcode přejděte do archivu produktů> a aplikaci archivujte.
- 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 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.
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ší.
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 jeExample-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ýtExample-Org
.
Nahrát novou verzi
Nahrajte novou verzi pomocí těchto sekvenčních volání rozhraní API:
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}" }
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
nacontent_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" }
- Android .apk používá typ dodavatele.
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žítsplit
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ázvemsplitaa
,splitab
atd. Každý soubor se rozdělí v rámci limituchunk_size
.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
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
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
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:
- POST /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/testers
- POST /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/groups
- POST /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/stores
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.
Odkaz na vydané verze
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.
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.