Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga / Notatka
Operacje aktualizacji aplikacji za pomocą akcji GitHub są obecnie obsługiwane tylko w przypadku bezpłatnych produktów. Płatne produkty będą obsługiwane w przyszłej wersji.
GitHub Actions umożliwia zaimplementowanie niezawodnego potoku CI/CD (ciągłej integracji i ciągłego wdrażania) dla aplikacji ze Sklepu Microsoft Store. Automatyzując kroki kompilacji, testowania i wdrażania bezpośrednio z repozytorium kodu, upewnisz się, że każda zmiana, niezależnie od tego, czy jest to poprawka usterki, aktualizacja funkcji, czy zmiana metadanych, jest weryfikowana i bezpiecznie publikowana w Sklepie Microsoft Store.
Aby dowiedzieć się, jak skonfigurować wymagania wstępne dla procesu aktualizacji aplikacji, zapoznaj się z następującym filmem wideo:
Wymaganie wstępne
Zarejestruj się jako deweloper aplikacji Windows w Partner Center.
Mieć dzierżawcę związanego z kontem w Centrum partnerskim. Można to osiągnąć, kojarząc istniejący Microsoft Entra ID w Partner Center lub tworząc nowy Microsoft Entra ID w Partner Center.
Rejestrowanie aplikacji w Microsoft Entra ID
Następnie na karcie aplikacje Microsoft Entra na stronie Zarządzanie użytkownikami w sekcji Ustawienia konta Centrum partnerskiego dodaj aplikację Microsoft Entra ID reprezentującą aplikację lub usługę, która będzie używana do uzyskiwania dostępu do przesłanych plików dla konta Centrum partnerskiego. Upewnij się, że przypiszesz tej aplikacji rolę Menedżera.
Aplikacja, którą chcesz zaktualizować, musi być już opublikowana i aktywna w sklepie Microsoft Store.
Wymagane identyfikatory i tajemnice:
- Identyfikator dzierżawcy (To unikatowy identyfikator Twojego dzierżawcy Microsoft Entra. Przejdź do https://entra.microsoft.com/. Przejdź do pozycji Tożsamość > Przegląd. Skopiuj wartość „Identyfikator dzierżawcy”.)
- Identyfikator klienta (jest to identyfikator aplikacji dla utworzonej rejestracji aplikacji. W centrum administracyjnym Entra przejdź do pozycji Tożsamość > Aplikacje > Rejestracje aplikacji. Wybierz zarejestrowaną aplikację. Skopiuj identyfikator aplikacji (klienta).)
- Wpis tajny klienta (jest to wartość podobna do hasła wygenerowana dla rejestracji aplikacji, używana do bezpiecznego uwierzytelniania. W centrum administracyjnym Entra przejdź do pozycji Tożsamość > Aplikacje > Rejestracje aplikacji. Wybierz zarejestrowaną aplikację i przejdź do pozycji Certyfikaty i wpisy tajne. W obszarze „Wpisy tajne klienta” utwórz nowy wpis tajny, jeśli jeszcze go nie utworzono. Natychmiast skopiuj tę wartość, ponieważ nie zostanie ona wyświetlona ponownie)
- Identyfikator sprzedawcy (jest to unikatowy identyfikator wydawcy/sprzedawcy w Microsoft Partner Center. Zaloguj się do Partner Center. Przejdź do pozycji Ustawienia konta > Ustawienia dewelopera lub Identyfikatory. Wyszukaj ciąg "Identyfikator wydawcy" lub "Identyfikator sprzedawcy".
Będą one używane jako wpisy tajne w repozytorium GitHub.
Konfigurowanie GitHub Actions do aktualizowania aplikacji w Microsoft Store
Jeśli projekt ma już repozytorium GitHub, możesz użyć go bezpośrednio do automatyzacji aktualizacji aplikacji ze sklepu Microsoft Store.
W repozytorium GitHub przejdź do Settings>Secrets and variables>Actions>Nowy tajny element repozytorium.
Dodaj następujące tajemnice:
- AZURE_AD_APPLICATION_CLIENT_ID
- AZURE_AD_APPLICATION_SECRET
- AZURE_AD_TENANT_ID
- SELLER_ID
Aktualizacje aplikacji można zautomatyzować przy użyciu GitHub Actions dla obu typów aplikacji, MSIX i MSI/EXE. Wybierz typ aplikacji, który chcesz zaktualizować poniżej:
- MSIX
- MSI/EXE
Dodaj przepływ pracy GitHub Action aby wywołać akcję Microsoft GitHub (microsoft-store-apppublisher) w celu publikowania aktualizacji pakietu i metadanych aplikacji w sklepie.
Aby dowiedzieć się, jak zautomatyzować aktualizacje pakietów i metadanych przy użyciu GitHub Actions, zapoznaj się z następującym wideo:
W przypadku aktualizacji pakietów
W obszarze .github/workflows/utwórz AppPackageAutoUpdate.yml przy użyciu podanego fragmentu przepływu pracy:
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>
Po zaktualizowaniu pliku package.msix w ramach przepływu CI/CD w katalogu wydania, przepływ pracy AppPackageAutoUpdate.yml jest wyzwalany automatycznie.
W przypadku aktualizacji metadanych
Przed pierwszym opublikowaniem aktualizacji metadanych uzyskaj podstawową wersję metadanych JSON z Partner Center na potrzeby przesyłania aplikacji. Dzięki temu zaczniesz od prawidłowej struktury aplikacji. Dlatego utwórz przepływ pracy GitHub Actions w obszarze .github/workflows/GetBaseMetadata.yml przy użyciu podanego fragmentu kodu:
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>
Uruchom ten przepływ pracy z karty Akcje w repozytorium GitHub. Wybierz odpowiedni przepływ pracy i kliknij pozycję Uruchom przepływ pracy.
Po zakończeniu przepływ pracy otrzyma metadane dotyczące aplikacji w dziennikach kompilacji. Skopiuj ten plik i utwórz plik metadata.json w folderze metadanych.
Teraz w obszarze .github/workflows/utwórz AppMetadataAutoUpdate.yml przy użyciu podanego fragmentu przepływu pracy:
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>
Po zaktualizowaniu metadata.json w ramach przepływu CI/CD w folderze metadanych, automatycznie wyzwoli przepływ pracy AppMetadataAutoUpdate.yml.
Powyższe przepływy pracy będą wykonywać następujące czynności w tle:
- ** Wywołaj akcję GitHub (microsoft-store-apppublisher)
- Uwierzytelnij konto Centrum Partnerskiego Sklepu Microsoft przy użyciu skonfigurowanych tajnych danych (identyfikator dzierżawy, identyfikator klienta, klucz tajny klienta, identyfikator sprzedawcy).
- Użyj interfejsu wiersza polecenia dla deweloperów sklepu Microsoft Store (msstore), aby uzyskać podstawowe metadane i opublikować zaktualizowany pakiet lub metadane w sklepie Microsoft Store.
Aby uzyskać więcej informacji na temat poleceń, zobacz Interfejs wiersza polecenia dla deweloperów sklepu Microsoft Store (MSIX).
Po pomyślnym zakończeniu przepływu pracy GitHub Actions sprawdź sklep Microsoft Store, aby potwierdzić, że zmiany są aktywne. Aktualizacje będą wyświetlane po zakończeniu procesu certyfikacji w Centrum partnerskim.
Ufamy, że ten dokument pomoże znacznie zwiększyć wydajność i niezawodność procesu aktualizacji sklepu Microsoft Store. Postępując zgodnie z tymi najlepszymi rozwiązaniami, można usprawnić publikowanie aplikacji i zapewnić spójne, wysokiej jakości środowisko wydania.