備註
目前僅支援免費產品透過 GitHub 動作進行應用程式更新操作。 付費產品將在未來版本中提供支援。
GitHub Actions 讓你能為 Microsoft Store 應用程式實作強大的 CI/CD 管線。 藉由直接從程式碼存放庫自動化建置、測試和部署步驟,您可以確保每個變更,無論是錯誤修正、功能更新或中繼資料變更,都經過驗證並安全地發佈到 Microsoft Store。
若要瞭解如何設定應用程式更新程式的必要條件,請觀看下列影片:
必要條件
請在 Partner Center註冊成為Windows應用程式開發者。
將租戶與您的合作夥伴中心帳戶相關聯。 你可以透過在 Partner Center 將現有的 Microsoft Entra ID 關聯,或在 Partner Center 建立新的 Microsoft Entra ID,來達成。
在 Microsoft Entra ID 中註冊應用程式
接著,從合作夥伴中心帳戶設定區的 Microsoft Entra 應用程式標籤,在使用者管理頁面,新增代表你將用來存取合作夥伴中心帳號提交的應用程式或服務的 Microsoft Entra ID 應用程式。 請確定為此應用程式指派管理員角色。
您要更新的應用程式必須已發佈並位於 Microsoft Store 中。
所需的 ID 和密碼:
- 租戶識別碼(這是你 Microsoft Entra 租戶的唯一識別碼。切換到https://entra.microsoft.com/。請前往Azure Active Directory >概覽。複製「租戶ID」的值。)
- 客戶端 ID(這是你建立的應用程式註冊的應用程式 ID。在 Entra 管理中心,請前往 Azure Active Directory > App registrations。選擇你註冊的應用程式。複製「應用程式ID」。)用於 API 存取。 在 Entra 管理中心,前往 Azure Active Directory > 應用程式註冊。 選擇您註冊的應用程序。 複製「應用程式ID」。
- 用戶端秘密(這是用於應用程式註冊時產生的類似密碼的數值,用於安全認證。在 Entra 管理中心,請前往 Azure Active Directory > App registrations。選擇你註冊的應用程式,前往證書與秘密。在「用戶端秘密」裡,如果你還沒建立一個新的秘密,請重新建立。立即複製該數值,因為不會再顯示)
- 賣家ID(這是您在 Microsoft Partner Center 中的唯一出版商/賣家識別碼。請登入 Partner Center。請前往帳戶設定> 開發者設定或識別碼。請搜尋「出版商ID」或「賣家ID」。)
這些檔案會作為秘密存放在你的 GitHub 倉庫中使用。
設定 GitHub Actions 以更新 Microsoft Store 上的應用程式
如果你的專案已有 GitHub 倉庫,你可以直接使用它來自動化 Microsoft Store 應用程式更新。
在你的 GitHub 倉庫中,請前往 Settings>Secrets and variables>Actions>New Repository Secret。
新增下列密碼:
- AZURE_AD_APPLICATION_CLIENT_ID
- AZURE_AD_APPLICATION_SECRET(Azure AD 應用程式密碼)
- AZURE_AD_TENANT_ID
- SELLER_ID
你可以用 GitHub Actions 來自動化應用程式更新,針對這兩種應用程式,
新增 GitHub Action 工作流程來調用 Microsoft GitHub Action(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/workflows/GetBaseMetadata.yml 中建立一個 GitHub Actions 工作流程:
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>
從你 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 開發人員 CLI (msstore) 來取得基底中繼資料,並將更新的套件或中繼資料發佈至 Microsoft Store。
如需命令的詳細資訊,請參閱 Microsoft Store 開發人員 CLI (MSIX)。
當您的 GitHub Actions 工作流程成功完成後,請檢查 Microsoft Store 以確認您的變更是否已上線。 合作夥伴中心的認證程式完成後,會出現更新。
我們相信本文件將有助於顯著提高 Microsoft Store 更新過程的效率和可靠性。 透過遵循這些最佳實踐,您可以簡化應用程式發布並確保一致、高品質的發布體驗。