Aracılığıyla paylaş


GitHub Actions ile uygulama güncelleştirmelerini Microsoft Store'da yayımlama

Uyarı

GitHub eylemleri aracılığıyla uygulama güncelleştirme işlemleri şu anda yalnızca ücretsiz ürünler için desteklenmektedir. Ücretli ürünler gelecekteki bir sürümde desteklenecektir.

GitHub Actions, Microsoft Store uygulamalarınız için güçlü bir CI/CD işlem hattı uygulamanızı sağlar. Derleme, test ve dağıtım adımlarını doğrudan kod deponuzdan otomatikleştirerek, hata düzeltmesi, özellik güncelleştirmesi veya meta veri değişikliği olsun her değişikliğin doğrulandığından ve Microsoft Store'da güvenli bir şekilde yayımlandığından emin olursunuz.

Uygulama güncelleştirme işlemi için önkoşulların nasıl ayarlandığını anlamak için aşağıdaki videoya göz atın:

Ön koşul

  1. İş Ortağı Merkezi'nde Windows uygulama geliştiricisi olarak kaydolun.

  2. İş Ortağı Merkezi hesabınızla ilişkilendirilmiş bir kiracınız olmalıdır. Bunu, İş Ortağı Merkezi'nde mevcut bir Microsoft Entra Kimliği ile ilişkilendirerek veya İş Ortağı Merkezi'ndeyeni bir Microsoft Entra Kimliği oluşturarak elde edebilirsiniz.

  3. Microsoft Entra ID'de bir uygulama kaydettirin

  4. Ardından, İş Ortağı Merkezi'nin Hesap ayarları bölümündeki Kullanıcı yönetimi sayfasının altındaki Microsoft Entra uygulamaları sekmesinden, İş Ortağı Merkezi hesabınızın gönderimlerine erişmek için kullanacağınız uygulamayı veya hizmeti temsil eden Microsoft Entra ID uygulamasını ekleyin. Bu uygulamaya Yönetici rolünü atadığınızdan emin olun.

  5. Güncelleştirmek istediğiniz uygulamanın zaten Microsoft Store'da yayımlanmış ve canlı olması gerekir.

  6. Gerekli Kimlikler ve Gizli Anahtarlar:

    • Kiracı Kimliği (Bu, Microsoft Entra kiracınızın benzersiz tanımlayıcısıdır. adresine https://entra.microsoft.com/gidin. Azure Active Directory'ye > Genel Bakış'a gidin. "Kiracı Kimliği" değerini kopyalayın.)
    • İstemci Kimliği (Bu, oluşturduğunuz uygulama kaydının Uygulama Kimliğidir. Entra yönetim merkezinde Azure Active Directory > Uygulama kayıtları'na gidin. Kayıtlı uygulamanızı seçin. "Uygulama Kimliği"ni kopyalayın.) API erişimi için. Entra yönetim merkezinde Azure Active Directory > Uygulama kayıtları'na gidin. Kayıtlı uygulamanızı seçin. "Uygulama Kimliği"ni kopyalayın.)
    • İstemci Gizli Anahtarı (Bu, uygulama kaydınız için oluşturulan ve güvenli kimlik doğrulaması için kullanılan parola benzeri bir değerdir. Entra yönetim merkezinde Azure Active Directory > Uygulama kayıtları'na gidin. Kayıtlı uygulamanızı seçin, Sertifikalar ve gizli diziler'e gidin. "İstemci gizli dizileri" altında henüz yapmadıysanız yeni bir gizli dizi oluşturun. Değeri bir daha gösterilmeyeceği için hemen kopyalayın)
    • Satıcı Kimliği (Bu, Microsoft İş Ortağı Merkezi'ndeki benzersiz yayımcı/satıcı tanımlayıcınızdır. İş Ortağı Merkezi'nde oturum açın. Hesap ayarları Geliştirici ayarları > veya Tanımlayıcılar'a gidin. "Yayımcı Kimliği" veya "Satıcı Kimliği" arayın.)

    Bunlar, GitHub deponuzda gizli olarak kullanılacaktır.

Microsoft Store'da uygulamaları güncelleştirmek için GitHub Actions'ı ayarlama

Projenizde zaten bir GitHub deposu varsa, bunu doğrudan Microsoft Store uygulama güncelleştirmelerini otomatikleştirmek için kullanabilirsiniz.

GitHub deponuzda Ayarlar>Gizli Diziler ve Değişkenler>Eylemler>Yeni Depo Gizlisi'ne gidin.

Deponuza gizli bilgiler eklemeyi gösteren ekran görüntüsü.

Aşağıdaki gizli bilgileri ekleyin:

  • AZURE_AD_APPLICATION_CLIENT_ID
  • AZURE_AD_APPLICATION_SECRET
  • AZURE_AD_TENANT_ID
  • SATICI_KIMLIK

Her iki uygulama türü için de GitHub Actions'ı kullanarak uygulama güncelleştirmelerini otomatikleştirebilirsiniz, MSIX ve MSI/EXE. Aşağıda güncelleştirmek istediğiniz uygulama türünü seçin:

Depolamada paket ve uygulama meta veri güncelleştirmelerini yayımlamak üzere Microsoft GitHub eylemini (microsoft-store-apppublisher) çağırmak için GitHub Eylem İş Akışı'nı ekleyin.

GitHub Actions'ı kullanarak paket ve meta veri güncelleştirmelerini otomatikleştirmeyi anlamak için aşağıdaki videoyu gözden geçirin:

Paket güncelleştirmeleri için

.github/workflows/ altında sağlanan iş akışı parçacığını kullanarak AppPackageAutoUpdate.yml oluşturun:

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>

Package.msix, yayın klasöründeki CI/CD akışının bir parçası olarak güncelleştirildiğinde, AppPackageAutoUpdate.yml iş akışı otomatik olarak tetikler.

Meta veri güncelleştirmeleri için

Meta veri güncelleştirmelerini ilk kez yayımlamadan önce, uygulama gönderiminiz için İş Ortağı Merkezi'nden temel meta veri JSON'unu alın. Bu, uygulamanız için doğru yapıyla başlamanızı sağlar. Bu nedenle sağlanan kod parçacığını kullanarak .github/workflows/GetBaseMetadata.yml altında bir GitHub Actions iş akışı oluşturun:

name: GetBaseMetadata 
 
on: 
  workflow_dispatch: 
 
jobs: 
  build: 
    runs-on: windows-latest 
 
    steps: 
    - uses: actions/checkout@v3 
 
    - 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>

Bu iş akışını GitHub deponuzdaki Eylemler sekmesinden çalıştırın. İlgili iş akışını seçin ve İş akışını çalıştır'a tıklayın.

MSIX uygulaması için temel meta verileri almak için iş akışı çalıştırma işlemini gösteren ekran görüntüsü.

İşlem tamamlandıktan sonra iş akışı derleme günlüklerinde uygulamanızın meta verilerini alır. Bunu kopyalayın ve meta veri klasöründe bir metadata.json dosyası oluşturun.

Şimdi .github/workflows/ altında sağlanan iş akışı parçacığını kullanarak AppMetadataAutoUpdate.yml oluşturun:

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>

meta veri klasöründeki CI/CD akışının bir parçası olarak metadata.json güncelleştirildiğinde, AppMetadataAutoUpdate.yml iş akışını otomatik olarak tetikler.

Yukarıdaki iş akışları arka planda aşağıdakileri yapar:

  • GitHub Eylemini Çalıştır (microsoft-store-apppublisher)
  • Yapılandırdığınız gizli dizileri (Kiracı Kimliği, İstemci Kimliği, İstemci Gizli Anahtarı, Satıcı Kimliği) kullanarak Microsoft Store İş Ortağı Merkezi hesabınızın kimliğini doğrulayın.
  • Temel meta verileri almak ve güncelleştirilmiş paketi veya meta verileri Microsoft Store'da yayımlamak için Microsoft Store Geliştirici CLI'sini (msstore) kullanın.

Komutlar hakkında daha fazla bilgi için bkz. Microsoft Store Geliştirici CLI'sı (MSIX).

GitHub Actions iş akışınız başarıyla tamamlandıktan sonra, değişikliklerinizin canlı olduğunu onaylamak için Microsoft Store'a bakın. güncelleştirmeler, İş Ortağı Merkezi'ndeki sertifikasyon işlemi tamamlandıktan sonra görünür.

Bu belgenin, Microsoft Store güncelleştirme sürecinizin verimliliğini ve güvenilirliğini önemli ölçüde artırmaya yardımcı olacağını biliyoruz. Bu en iyi yöntemleri izleyerek uygulama yayımlamayı kolaylaştırabilir ve tutarlı, yüksek kaliteli bir yayın deneyimi sağlayabilirsiniz.