Publication des mises à jour d’application dans le Microsoft Store avec GitHub Actions

Note

Les opérations de mise à jour d’application via GitHub actions sont actuellement prises en charge uniquement pour les produits gratuits. Les produits payants seront pris en charge dans une prochaine version.

GitHub Actions vous permet d’implémenter un pipeline CI/CD robuste pour vos applications du Microsoft Store. En automatisant les étapes de génération, de test et de déploiement directement à partir de votre référentiel de code, vous assurez que chaque modification, qu’il s’agisse d’un correctif de bogue, d’une mise à jour des fonctionnalités ou d’une modification des métadonnées, est validée et publiée en toute sécurité dans le Microsoft Store.

Pour comprendre comment configurer des conditions préalables pour le processus de mise à jour de l’application, consultez la vidéo suivante :

Conditions préalables

  1. Inscrivez-vous en tant que développeur d’applications Windows dans Partner Center.

  2. Avoir un locataire associé à votre compte Espace partenaires. Pour ce faire, associez une Microsoft Entra ID existante dans l’Espace partenaires ou créant une nouvelle Microsoft Entra ID dans l’Espace partenaires.

  3. Register une application dans Microsoft Entra ID

  4. Ensuite, sous l’onglet Applications Microsoft Entra sous la page Gestion des utilisateurs, dans la section Paramètres du compte de l’Espace partenaires, ajoutez l’application Microsoft Entra ID qui représente l’application ou le service que vous utiliserez pour accéder aux soumissions de votre compte Espace partenaires. Veillez à attribuer à cette application le rôle Gestionnaire.

  5. L’application que vous souhaitez mettre à jour doit déjà être publiée et en direct dans le Microsoft Store.

  6. ID et secrets obligatoires :

    • ID de locataire (il s’agit de l’identificateur unique de votre locataire Microsoft Entra. Accédez à https://entra.microsoft.com/. Accédez à Azure Active Directory > Vue d’ensemble. Copiez la valeur « ID de locataire ».
    • ID client (il s’agit de l’ID d’application de l’inscription d’application que vous avez créée. Dans le Centre d’administration Entra, accédez à Azure Active Directory > App registrations. Sélectionnez votre application inscrite. Copiez l'« ID d’application ». pour l’accès aux API. Dans le Centre d’administration Entra, accédez à Azure Active Directory > App registrations. Sélectionnez votre application inscrite. Copiez l'« ID d’application ».
    • Clé secrète client (il s’agit d’une valeur de type mot de passe générée pour l’inscription de votre application, utilisée pour l’authentification sécurisée. Dans le Centre d’administration Entra, accédez à Azure Active Directory App registrations. Sélectionnez votre application inscrite, accédez à Certificats & Secrets. Sous « Clés secrètes client », créez un secret si ce n’est pas déjà fait. Copiez la valeur immédiatement, car elle ne sera pas affichée à nouveau)
    • ID de vendeur (il s’agit de votre identificateur d’éditeur/vendeur unique dans Microsoft Partner Center. Connectez-vous à Partner Center. Accédez aux paramètres de compte > Paramètres ou identificateurs du développeur. Recherchez « ID du serveur de publication » ou « ID de vendeur ».

    Celles-ci seront utilisées comme secrets dans votre dépôt GitHub.

Configuration de GitHub Actions pour mettre à jour des applications sur le Microsoft Store

Si votre projet dispose déjà d’un dépôt GitHub, vous pouvez l’utiliser directement pour automatiser les mises à jour des applications du Microsoft Store.

Dans votre dépôt GitHub, accédez à Settings>Secrets et variables>Actions>New Repository Secret.

Capture d’écran montrant comment ajouter des secrets à votre référentiel.

Ajoutez les secrets suivants :

  • AZURE_AD_APPLICATION_CLIENT_ID
  • AZURE_AD_APPLICATION_SECRET
  • AZURE_AD_TENANT_ID
  • SELLER_ID

Vous pouvez automatiser les mises à jour des applications à l’aide de GitHub Actions pour les deux types d’applications, MSIX et MSI/EXE. Sélectionnez le type d’application que vous souhaitez mettre à jour ci-dessous :

Ajoutez le workflow GitHub Action pour appeler l’action Microsoft GitHub (microsoft-store-apppublisher) afin de publier les mises à jour des métadonnées de package et d’application dans le Store.

Pour comprendre comment automatiser les mises à jour de package et de métadonnées à l’aide de GitHub Actions, consultez la vidéo suivante :

Pour les mises à jour de paquet

Sous .github/workflows/, créez AppPackageAutoUpdate.yml à l’aide de l’extrait de code de flux de travail fourni :

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>

Lorsque le package.msix est mis à jour dans le cadre du flux CI/CD dans le dossier de mise en production, le flux de travail AppPackageAutoUpdate.yml est déclenché automatiquement.

Pour les mises à jour des métadonnées

Avant de publier les mises à jour des métadonnées pour la première fois, obtenez le JSON des métadonnées de base à partir de l’Espace partenaires pour la soumission de votre application. Cela garantit que vous commencez par la structure appropriée pour votre application. Créez donc un flux de travail GitHub Actions sous .github/workflows/GetBaseMetadata.yml à l’aide de l’extrait de code fourni :

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>

Exécutez ce flux de travail à partir de l’onglet Actions de votre dépôt GitHub. Sélectionnez le flux de travail approprié, puis cliquez sur Exécuter le flux de travail.

Capture d’écran montrant le processus d’exécution du flux de travail pour obtenir les métadonnées de base pour l’application MSIX.

Une fois l’opération terminée, le flux de travail obtient les métadonnées de votre application dans les journaux de génération. Copiez-le et créez un fichier metadata.json dans le dossier de métadonnées.

Maintenant, sous .github/workflows/, créez AppMetadataAutoUpdate.yml à l’aide de l’extrait de code de flux de travail fourni :

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>

Lorsque metadata.json est mis à jour dans le cadre du flux CI/CD dans le dossier de métadonnées, il déclenche automatiquement le flux de travail AppMetadataAutoUpdate.yml.

Les flux de travail ci-dessus effectuent les opérations suivantes en arrière-plan :

  • Lancer l’action GitHub (microsoft-store-apppublisher)
  • Authentifiez votre compte Espace partenaires du Microsoft Store à l’aide des secrets que vous avez configurés (ID de locataire, ID client, Secret client, ID de vendeur).
  • Utilisez l’interface CLI du développeur du Microsoft Store (msstore) pour obtenir les métadonnées de base et publier le package ou les métadonnées mis à jour dans le Microsoft Store.

Pour plus d’informations sur les commandes, reportez-vous à l’interface CLI du développeur microsoft Store (MSIX).

Une fois votre flux de travail GitHub Actions terminé, vérifiez que vos modifications sont actives dans le Microsoft Store. Les mises à jour s’affichent une fois le processus de certification terminé dans l’Espace partenaires.

Nous sommes confiants que ce document permettra d’améliorer considérablement l’efficacité et la fiabilité de votre processus de mise à jour du Microsoft Store. En suivant ces bonnes pratiques, vous pouvez simplifier la publication d’applications et garantir une expérience de publication cohérente et de haute qualité.