Publikování aktualizací aplikací do Microsoft Storu pomocí GitHub Actions

Poznámka:

Operace aktualizace aplikací prostřednictvím akcí GitHub se v současné době podporují jenom pro bezplatné produkty. Placené produkty budou podporovány v budoucí verzi.

GitHub Actions umožňuje implementovat robustní kanál CI/CD pro vaše aplikace z Microsoft Storu. Automatizací kroků sestavení, testování a nasazení přímo z úložiště kódu zajistíte, že se každá změna, ať už jde o opravu chyb, aktualizaci funkcí nebo změnu metadat, ověří a bezpečně publikuje do Microsoft Storu.

Pokud chcete zjistit, jak nastavit požadavky na proces aktualizace aplikace, podívejte se na následující video:

Předpoklad

  1. Zaregistrujte se jako vývojář aplikace Windows v centru Partner Center.

  2. Mít tenanta přidruženého k vašemu účtu v Partnerském centru. Toho dosáhnete tak, že přidružíte existující Microsoft Entra ID v Partnerském centru nebo vytvářením nového Microsoft Entra ID v Partnerském centru.

  3. Registrovat aplikaci v Microsoft Entra ID

  4. Dále na kartě aplikací Microsoft Entra, kterou najdete na stránce Správa uživatelů v části Nastavení účtu v Partnerském centru, přidejte aplikaci Microsoft Entra ID, která představuje aplikaci nebo službu, kterou použijete pro přístup k řešení příspěvků ve vašem účtu Partnerského centra. Ujistěte se, že tuto aplikaci přiřadíte roli Správce.

  5. Aplikace, kterou chcete aktualizovat, už musí být publikovaná a živá v Microsoft Storu.

  6. Požadovaná ID a tajné kódy:

    • ID tenanta (toto je jedinečný identifikátor vašeho tenanta Microsoft Entra. Přejděte na https://entra.microsoft.com/. Přejděte na Přehled identity>. Zkopírujte hodnotu ID tenanta.)
    • ID klienta (toto je ID aplikace v registraci aplikace, kterou jste vytvořili.) V centru pro správu Entra přejděte na Identita > Aplikace > Registrace aplikací. Vyberte zaregistrovanou aplikaci. Zkopírujte ID aplikace (klienta).)
    • Tajný klíč klienta (Jedná se o hodnotu podobnou heslu vygenerovanou pro registraci vaší aplikace, která se používá pro zabezpečené ověřování. V centru pro správu Entra přejděte na Identita > Aplikace > Registrace aplikací. Vyberte zaregistrovanou aplikaci a přejděte na Certifikáty a tajné kódy. V části „Tajné kódy klienta“ vytvořte nový tajný klíč, pokud jste tak ještě neučinili. Hodnotu si ihned zkopírujte, protože se už znovu nezobrazí.)
    • ID prodejce (toto je jedinečný identifikátor vydavatele nebo prodejce v Partnerské centrum Microsoftu. Přihlaste se ke Partner Center. Přejděte na Nastavení účtu > Nastavení nebo Identifikátory pro vývojáře. Vyhledejte "ID vydavatele" nebo "ID prodejce".)

    Budou použity jako tajné kódy ve vašem úložišti GitHub.

Nastavení GitHub Actions pro aktualizaci aplikací v Microsoft Storu

Pokud už váš projekt má úložiště GitHub, můžete ho použít přímo k automatizaci aktualizací aplikací pro Microsoft Store.

V úložišti GitHub přejděte na Settings>Secrets a variables>Akce> Tajný kód nového úložiště.

Snímek obrazovky znázorňující, jak přidat tajné kódy do úložiště

Přidejte následující tajné kódy:

  • AZURE_AD_APPLICATION_CLIENT_ID
  • AZURE_AD_APPLICATION_SECRET
  • AZURE_AD_TENANT_ID
  • SELLER_ID

Aktualizace aplikací můžete automatizovat pomocí GitHub Actions pro oba typy aplikací, MSIX a MSI/EXE. Vyberte typ aplikace, který chcete aktualizovat níže:

Přidejte pracovní postup akce GitHub k vyvolání akce Microsoft GitHub (microsoft-store-apppublisher) pro zpřístupnění balíčků a aktualizací metadat aplikací do obchodu.

Pokud chcete pochopit, jak automatizovat aktualizace balíčků a metadat pomocí GitHub Actions, podívejte se na následující video:

Aktualizace balíčků

V části .github/workflows/vytvořte AppPackageAutoUpdate.yml pomocí poskytnutého fragmentu kódu pracovního postupu:

name: AppPackageAutoUpdate 
 
on: 
  push: 
    paths: 
      - 'release/package.msix' 
 
jobs: 
  build: 
    runs-on: windows-latest 
 
    steps: 
      - name: Checkout repository 
        uses: actions/checkout@v4 
 
      - name: Configure Microsoft Store CLI 
        uses: microsoft/microsoft-store-apppublisher@v1.1 
 
      - name: Reconfigure store credentials 
        run: msstore reconfigure ` 
              --tenantId ${{ secrets.AZURE_AD_TENANT_ID }} ` 
              --sellerId ${{ secrets.SELLER_ID }} ` 
              --clientId ${{ secrets.AZURE_AD_APPLICATION_CLIENT_ID }} ` 
              --clientSecret ${{ secrets.AZURE_AD_APPLICATION_SECRET }} 
 
      - name: Publish App package 
        run: msstore publish '${{ github.workspace }}/release/package.msix' -id <Store product Id>

Při aktualizaci package.msix v rámci toku CI/CD ve složce verze se pracovní postup AppPackageAutoUpdate.yml aktivuje automaticky.

Aktualizace metadat

Před prvním publikováním aktualizací metadat získejte základní metadata JSON z Partnerského centra pro odeslání aplikace. Tím zajistíte, že začnete se správnou strukturou vaší aplikace. Vytvořte tedy pracovní postup GitHub Actions v části .github/workflows/GetBaseMetadata.yml pomocí poskytnutého fragmentu kódu:

name: GetBaseMetadata 
 
on: 
  workflow_dispatch: 
 
jobs: 
  build: 
    runs-on: windows-latest 
 
    steps: 
    - uses: actions/checkout@v4 
 
    - uses: microsoft/microsoft-store-apppublisher@v1.1 
 
    - name: Configure MSStore CLI 
      run: | 
        msstore reconfigure ` 
          --tenantId ${{ secrets.AZURE_AD_TENANT_ID }} ` 
          --sellerId ${{ secrets.SELLER_ID }} ` 
          --clientId ${{ secrets.AZURE_AD_APPLICATION_CLIENT_ID }} ` 
          --clientSecret ${{ secrets.AZURE_AD_APPLICATION_SECRET }} 
 
    - name: Get base metadata  
      shell: pwsh 
      run: | 
        msstore submission get <Store product Id>

Spusťte tento pracovní postup na kartě Akce v úložišti GitHub. Vyberte příslušný pracovní postup a klikněte na Spustit pracovní postup.

Snímek obrazovky znázorňující proces spuštění pracovního postupu pro získání základních metadat pro aplikaci MSIX

Po dokončení pracovní postup získá metadata vaší aplikace v protokolech sestavení. Zkopírujte tento soubor a vytvořte soubor metadata.json ve složce metadat.

Teď v části .github/workflows/vytvořte AppMetadataAutoUpdate.yml pomocí poskytnutého fragmentu kódu pracovního postupu:

name: AppMetadataAutoUpdate 
 
on: 
  push: 
    paths: 
      - 'metadata/metadata.json' 
 
jobs: 
  build: 
    runs-on: windows-latest 
 
    steps: 
      - name: Checkout repository 
        uses: actions/checkout@v4 
 
      - name: Configure Microsoft Store CLI 
        uses: microsoft/microsoft-store-apppublisher@v1.1 
 
      - name: Reconfigure store credentials 
        run: msstore reconfigure ` 
              --tenantId ${{ secrets.AZURE_AD_TENANT_ID }} ` 
              --sellerId ${{ secrets.SELLER_ID }} ` 
              --clientId ${{ secrets.AZURE_AD_APPLICATION_CLIENT_ID }} ` 
              --clientSecret ${{ secrets.AZURE_AD_APPLICATION_SECRET }} 
 
      - name: Update metadata 
        run: | 
          $metadata = Get-Content -Raw "${{ github.workspace }}/metadata/metadata.json" 
          msstore submission updateMetadata <Store product Id> $metadata
      - name: Publish to Store 
        run: msstore submission publish <Store product Id>

Když se metadata.json aktualizuje jako součást toku CI/CD ve složce metadat, automaticky se aktivuje pracovní postup AppMetadataAutoUpdate.yml.

Výše uvedené pracovní postupy budou na pozadí provádět následující akce:

  • Vyvolání akce GitHub (microsoft-store-apppublisher)
  • Ověřte účet Partnerského centra Microsoft Storu pomocí tajných kódů, které jste nakonfigurovali (ID tenanta, ID klienta, tajný klíč klienta, ID prodejce).
  • Pomocí rozhraní příkazového řádku Microsoft Store (msstore) získejte základní metadata a publikujte aktualizovaný balíček nebo metadata do Microsoft Store.

Další informace o příkazech najdete v Microsoft Store Developer CLI (MSIX).

Po úspěšném dokončení pracovního postupu GitHub Actions zkontrolujte Microsoft Store a ověřte, že jsou změny aktivní. Aktualizace se zobrazí po dokončení procesu certifikace v Partnerském centru.

Věříme, že tento dokument pomůže výrazně zvýšit efektivitu a spolehlivost vašeho procesu aktualizace z Microsoft Storu. Díky těmto osvědčeným postupům můžete zjednodušit publikování aplikací a zajistit konzistentní a vysoce kvalitní prostředí pro vydávání verzí.