Menerbitkan pembaruan aplikasi ke Microsoft Store dengan GitHub Actions

Nota

Operasi pembaruan aplikasi melalui tindakan GitHub saat ini hanya didukung untuk produk gratis. Produk berbayar akan didukung dalam rilis mendatang.

GitHub Actions memungkinkan Anda menerapkan alur CI/CD yang kuat untuk aplikasi Microsoft Store Anda. Dengan mengotomatiskan langkah-langkah build, pengujian, dan penyebaran langsung dari repositori kode Anda, Anda memastikan bahwa setiap perubahan, baik itu perbaikan bug, pembaruan fitur, atau perubahan metadata, divalidasi dan diterbitkan dengan aman ke Microsoft Store.

Untuk memahami cara menyiapkan prasyarat untuk proses pembaruan aplikasi, lihat video berikut:

Prasyarat

  1. Daftar sebagai pengembang aplikasi Windows di Partner Center.

  2. Pastikan ada penyewa yang terkait dengan akun Pusat Mitra Anda. Anda dapat mencapainya dengan mengaitkan Microsoft Entra ID yang ada di Pusat Mitra atau dengan buat Microsoft Entra ID baru di Pusat Mitra.

  3. Register aplikasi di Microsoft Entra ID

  4. Selanjutnya, dari tab aplikasi Microsoft Entra di bawah halaman Manajemen pengguna di bagian Pengaturan akun di Pusat Mitra, tambahkan aplikasi Microsoft Entra ID yang mewakili aplikasi atau layanan yang akan Anda gunakan untuk mengakses pengiriman untuk akun Pusat Mitra Anda. Pastikan Anda menetapkan aplikasi ini sebagai peranManajer.

  5. Aplikasi yang ingin Anda perbarui harus sudah diterbitkan dan ditayangkan di Microsoft Store.

  6. ID dan Rahasia yang diperlukan:

    • ID Penyewa (Ini adalah pengidentifikasi unik untuk penyewa Microsoft Entra Anda. Buka https://entra.microsoft.com/. Navigasi ke Ringkasan Azure Active Directory >. Salin nilai "ID Penyewa".)
    • ID Klien (Ini adalah ID Aplikasi dari pendaftaran aplikasi yang Anda buat. Di pusat admin Entra, buka Azure Active Directory > App registrations. Pilih aplikasi terdaftar Anda. Salin "ID Aplikasi".) untuk akses API. Di pusat admin Entra, buka Azure Active Directory > App registrations. Pilih aplikasi terdaftar Anda. Salin "ID Aplikasi".)
    • Rahasia Klien (Ini adalah nilai seperti kata sandi yang dihasilkan untuk pendaftaran aplikasi Anda, digunakan untuk autentikasi yang aman. Di pusat admin Entra, buka Azure Active Directory App registrations. Pilih aplikasi terdaftar Anda, buka Sertifikat & Rahasia. Di bagian "Rahasia klien", buat rahasia baru jika Anda belum melakukannya. Salin nilai segera karena tidak akan ditampilkan lagi)
    • ID Penjual (Ini adalah pengidentifikasi penerbit/penjual unik Anda di Microsoft Partner Center. Masuk ke Partner Center. Buka Pengaturan akun > Pengaturan pengembang atau Pengidentifikasi. Cari "ID Penerbit" atau "ID Penjual".)

    Ini akan digunakan sebagai rahasia di repositori GitHub Anda.

Menyiapkan GitHub Actions untuk memperbarui aplikasi di Microsoft Store

Jika proyek Anda sudah memiliki repositori GitHub, Anda dapat menggunakannya secara langsung untuk mengotomatiskan pembaruan aplikasi Microsoft Store.

Di repositori GitHub Anda, buka SettingsSecrets dan variabel<c3 />ActionsRahasia Repositori Baru.

Cuplikan layar memperlihatkan cara menambahkan rahasia ke repositori Anda.

Tambahkan rahasia berikut:

  • AZURE_AD_APPLICATION_CLIENT_ID
  • AZURE_AD_APPLICATION_SECRET
  • AZURE_AD_TENANT_ID
  • SELLER_ID

Anda dapat mengotomatiskan pembaruan aplikasi menggunakan GitHub Actions untuk kedua jenis aplikasi, MSIX dan MSI/EXE. Pilih jenis aplikasi yang ingin Anda perbarui di bawah ini:

Tambahkan GitHub Action Workflow untuk memanggil Microsoft GitHub action (microsoft-store-apppublisher) guna menerbitkan pembaruan paket dan metadata aplikasi ke store.

Untuk memahami cara mengotomatiskan pembaruan paket dan metadata menggunakan GitHub Actions, lihat video berikut:

Untuk pembaruan paket

Di bawah .github/workflows/, buat AppPackageAutoUpdate.yml menggunakan cuplikan alur kerja yang disediakan:

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>

Ketika package.msix diperbarui sebagai bagian dari alur CI/CD di folder rilis, alur kerja AppPackageAutoUpdate.yml dipicu secara otomatis.

Untuk pembaruan metadata

Sebelum menerbitkan pembaruan metadata untuk pertama kalinya, dapatkan metadata dasar JSON dari Pusat Mitra untuk pengiriman aplikasi Anda. Ini memastikan Anda memulai dengan struktur yang benar untuk aplikasi Anda. Jadi, buat alur kerja GitHub Actions di bawah .github/workflows/GetBaseMetadata.yml menggunakan cuplikan yang disediakan:

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>

Jalankan alur kerja ini dari tab Tindakan di repositori GitHub Anda. Pilih alur kerja yang relevan dan klik Jalankan alur kerja.

Cuplikan layar memperlihatkan proses eksekusi alur kerja untuk mendapatkan metadata dasar untuk aplikasi MSIX.

Setelah selesai, alur kerja akan mendapatkan metadata untuk aplikasi Anda di log build. Salin ini dan buat file metadata.json di folder metadata.

Sekarang, di bawah .github/workflows/, buat AppMetadataAutoUpdate.yml menggunakan cuplikan alur kerja yang disediakan:

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>

Ketika metadata.json diperbarui sebagai bagian dari alur CI/CD di folder metadata, itu akan secara otomatis memicu alur kerja AppMetadataAutoUpdate.yml.

Alur kerja di atas akan melakukan hal berikut di latar belakang:

  • Memanggil aksi GitHub (microsoft-store-apppublisher)
  • Autentikasi akun Pusat Mitra Microsoft Store Anda menggunakan rahasia yang Anda konfigurasi (ID Penyewa, ID Klien, Rahasia Klien, ID Penjual).
  • Gunakan Microsoft Store Developer CLI (msstore) untuk mendapatkan metadata dasar dan menerbitkan paket atau metadata yang diperbarui ke Microsoft Store.

Untuk informasi selengkapnya tentang perintah, lihat Microsoft Store Developer CLI (MSIX).

Setelah alur kerja GitHub Actions Anda berhasil diselesaikan, periksa Microsoft Store untuk mengonfirmasi bahwa perubahan Anda ditayangkan. Pembaruan akan muncul setelah proses sertifikasi di Pusat Mitra selesai.

Kami percaya bahwa dokumen ini akan membantu secara signifikan meningkatkan efisiensi dan keandalan proses pembaruan Microsoft Store Anda. Dengan mengikuti praktik terbaik ini, Anda dapat menyederhanakan penerbitan aplikasi dan memastikan pengalaman rilis yang konsisten dan berkualitas tinggi.