Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Операции обновления приложений с помощью действий GitHub в настоящее время поддерживаются только для бесплатных продуктов. Платные продукты будут поддерживаться в будущем выпуске.
GitHub Actions позволяет реализовать надежный конвейер CI/CD для приложений Microsoft Store. Автоматив сборку, тестирование и развертывание непосредственно из репозитория кода, вы гарантируете, что каждое изменение, будь то исправление ошибок, обновление компонентов или изменение метаданных, проверяется и безопасно публикуется в Microsoft Store.
Чтобы понять, как настроить предварительные требования для процесса обновления приложения, ознакомьтесь со следующим видео:
Необходимые условия
Зарегистрируйтесь в качестве разработчика приложений Windows в Partner Center.
У вас есть арендатор, связанный с учетной записью Центра партнеров. Это можно сделать, соединяя существующий Microsoft Entra ID в Центре партнеров или создание нового Microsoft Entra ID в Центре партнеров.
Register приложение в Microsoft Entra ID
Затем на вкладке приложений Microsoft Entra на странице управления пользователями в разделе настроек учетной записи Центра партнеров добавьте приложение Microsoft Entra ID, представляющее приложение или службу, которое будет использоваться для доступа к поданным заявкам для учетной записи Центра партнеров. Убедитесь, что этому приложению назначена роль Менеджер.
Приложение, которое вы хотите обновить, должно уже быть опубликовано и доступно в Microsoft Store.
Обязательные идентификаторы и секреты:
- Идентификатор арендатора (это уникальный идентификатор вашего арендатора Microsoft Entra. Перейдите к https://entra.microsoft.com/. Перейдите в раздел Identity > > Обзор. Скопируйте значение «Tenant ID».)
- Идентификатор клиента (это идентификатор приложения в регистрации приложения, которую вы создали. В центре администрирования Entra перейдите в раздел Удостоверения > Приложения > Регистрации приложений. Выберите зарегистрированные приложения. Скопируйте идентификатор приложения (клиента).)
- Секрет клиента (это значение, похожее на пароль, создаваемое при регистрации приложения и используемое для безопасной аутентификации. В центре администрирования Entra перейдите в раздел Удостоверение > Приложения > Регистрация приложений. Выберите зарегистрированное приложение и перейдите в раздел «Сертификаты и секреты». В разделе «Секреты клиента» создайте новый секрет, если вы еще этого не сделали. Сразу скопируйте это значение, так как оно больше не будет отображаться)
- Идентификатор продавца (это уникальный идентификатор издателя или продавца в Microsoft Partner Center. Войдите в центр Partner Center. Перейдите к параметрам учетной записи > параметры разработчика или идентификаторы. Найдите идентификатор издателя или "Идентификатор продавца".)
Они будут использоваться в качестве секретов в репозитории GitHub.
Настройка GitHub Actions для обновления приложений в Microsoft Store
Если у проекта уже есть репозиторий GitHub, его можно использовать непосредственно для автоматизации обновлений приложений Microsoft Store.
В вашем репозитории GitHub перейдите к Настройки>Секреты и переменные>Действия>Новый секрет репозитория.
Добавьте следующие секреты:
- AZURE_AD_APPLICATION_CLIENT_ID
- AZURE_AD_APPLICATION_SECRET
- AZURE_AD_TENANT_ID
- SELLER_ID
Обновления приложений можно автоматизировать с помощью GitHub Actions для обоих типов приложений, MSIX и MSI/EXE. Выберите тип приложения, который требуется обновить ниже:
Добавьте GitHub Action Workflow для вызова действия Microsoft GitHub (microsoft-store-apppublisher) для публикации пакетов и обновлений метаданных приложения в магазине.
Чтобы понять, как автоматизировать обновления пакетов и метаданных с помощью GitHub Actions, ознакомьтесь со следующим видео:
Для обновлений пакетов
В разделе github/workflows/создайте AppPackageAutoUpdate.yml с помощью предоставленного фрагмента рабочего процесса:
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 в рамках потока CI/CD в папке выпуска рабочий процесс AppPackageAutoUpdate.yml активируется автоматически.
Для обновлений метаданных
Прежде чем публиковать обновления метаданных в первый раз, получите базовый JSON метаданных из Центра партнеров для отправки приложения. Это гарантирует, что вы начинаете с правильной структуры приложения. Поэтому создайте рабочий процесс GitHub Actions в разделе .github/workflows/GetBaseMetadata.yml с помощью предоставленного фрагмента кода:
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>
Запустите этот рабочий процесс на вкладке "Действия" в репозитории GitHub. Выберите соответствующий рабочий процесс и нажмите кнопку "Запустить рабочий процесс".
По завершении рабочий процесс получит метаданные приложения в журналах сборки. Скопируйте его и создайте файл metadata.json в папке метаданных.
Теперь в разделе .github/workflows/создайте AppMetadataAutoUpdate.yml с помощью предоставленного фрагмента рабочего процесса:
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>
Когда metadata.json обновляется в рамках потока CI/CD в папке метаданных, он автоматически активирует рабочий процесс AppMetadataAutoUpdate.yml.
Приведенные выше рабочие процессы выполняют следующие действия в фоновом режиме:
- Запустите действие GitHub (microsoft-store-apppublisher)
- Проверка подлинности учетной записи Центра партнеров Microsoft Store с помощью настроенных секретов (идентификатор клиента, идентификатор клиента, секрет клиента, идентификатор продавца).
- Используйте интерфейс командной строки разработчика Microsoft Store (msstore), чтобы получить базовые метаданные и опубликовать обновленный пакет или метаданные в Microsoft Store.
Дополнительные сведения о командах см. в интерфейсе командной строки разработчика Microsoft Store (MSIX).
После успешного завершения рабочего процесса GitHub Actions проверьте Microsoft Store, чтобы убедиться, что изменения опубликованы. Обновления будут отображаться после завершения процесса сертификации в Центре партнеров.
Мы доверяем, что этот документ поможет значительно повысить эффективность и надежность процесса обновления Microsoft Store. Следуя этим рекомендациям, вы можете упростить публикацию приложений и обеспечить согласованный высококачественный выпуск.
Windows developer