MSIX 封裝延伸模組
「MSIX 封裝」延伸模組是一種 Azure DevOps 延伸模組,有助於使用 MSIX 套件格式來建置、封裝及簽署 Windows 應用程式。
CI/CD 工作流程已成為開發程序不可或缺的一部分,可提升效率和品質,同時降低成本和上市時間。 Microsoft的 CI/CD 解決方案 Azure DevOps Pipelines 被廣泛採用且熱門,但目前將需要封裝為 MSIX 到 Azure Pipelines 的應用程式建置和部署工作流程的程式相當乏味,特別是適用於不是 Azure Pipelines 或 MSIX 專家的人員。 此 Azure DevOps 擴充功能提供簡單且直覺的解決方案,可讓您更輕鬆地針對封裝為 MSIX 的應用程式,以及使用現有 CI/CD 工作流程的應用程式,輕鬆地移至 MSIX,而不會中斷其建置和部署機制。
「MSIX 封裝」延伸模組包含下列工作,可讓您根據需求自訂建置您的管線:
- MSIX 組建和套件 - 使用 MSIX 套件格式建置和封裝 Windows 應用程式
- MSIX 套件簽署 - 使用受信任的憑證簽署 MSIX 套件
- MSIX 的應用程式安裝程式- 建立或更新 MSIX 應用程式的 .appinstaller file 檔案
- 建立 MSIX 應用程式連結的套件 - 建立 MSIX 應用程式連結的 VHDX 套件
安裝 擴充功能
瀏覽 Azure DevOps Marketplace 並尋找延伸模組名稱「MSIX 封裝」延伸模組。
建立管線
為 Azure DevOps 專案建立新管線。
選取此選項以「使用傳統編輯器來建立管線,而不需使用 YAML」。
選取您的版本控制系統,並提供您的存放庫和預設分支詳細資料。
當系統要求您選取範本時,按兩下 [從空白作業開始]。
將代理 程式規格 選項變更為 windows-2019 ,因為 MSIX 擴充功能只在 Windows 代理程式上執行。
根據預設,您應該會在 管線中看到 Agent 作業 1 。 按一下加號,「將工作新增至代理程式作業 1」。
在 [新增工作] 搜尋列中搜尋 MSIX,您應該會在 MSIX 封裝延伸模組中看到之前所述的工作。 您可以根據本身需求來新增所需的工作,以自訂建置您的管線。 但是,我們將示範如何設定此頁面上的所有四個工作。
MSIX 組建和套件
注意:如果您嘗試使用此工作建置已封裝的應用程式,則必須 包含 Windows 應用程式封裝專案,因為工作需要 Package.appxmanifest 檔案。 工作不會自動為您新增。
以下是示範如何在 yaml 檔案中設定建置和封裝工作的範例:
steps:
- task: MSIX.msix-ci-automation-task-dev.msix-packaging.MsixPackaging@1
displayName: 'MSIX build and package'
inputs:
outputPath: '$(Build.ArtifactStagingDirectory)\MyApp.msix'
solution: MyUWPApp.sln
buildPlatform: x64
updateAppVersion: true
manifestFile: MyUWPApp/Package.appxmanifest
appVersion: 2.0.0.0
appPackageDistributionMode: SideloadOnly
msbuildArchitecture: x64
MSIX 套件簽署
簽署工作允許使用憑證進行簽署。 憑證可以來自安全檔案庫,或編碼為字串,就像使用 Azure 金鑰保存庫 工作擷取一樣。
以下範例示範如何在 yaml 檔案中設定套件簽署工作:
steps:
- task: MSIX.msix-ci-automation-task-dev.msix-signing.MsixSigning@1
displayName: 'Sign MSIX package'
inputs:
certificateType: base64
encodedCertificate: '$(kvtestcert)'
MSIX 的應用程式安裝程式檔案
以下範例示範如何在 yaml 檔案中設定 AppInstaller 檔案工作:
steps:
- task: MSIX.msix-ci-automation-task-dev.app-installer-file.AppInstallerFile@1
displayName: 'Create App Installer file'
inputs:
package: '$(Build.ArtifactStagingDirectory)\MyApp.msix'
outputPath: '$(Build.ArtifactStagingDirectory)\MyApp.appinstaller'
uri: 'https://myuwpapp-demo.azurewebsites.net/MyApp.appinstaller'
mainItemUri: 'https://myuwpapp-demo.azurewebsites.net/MyApp.msix'
showPromptWhenUpdating: true
updateBlocksActivation: true
建立 MSIX 應用程式連結的套件
以下範例示範如何設定工作,以在 yaml 檔案中建立應用程式附加的 VHDX 檔案:
steps:
- task: MSIX.msix-ci-automation-task-dev.msix-app-attach.MsixAppAttach@1
displayName: 'Create package for MSIX app attach'
inputs:
package: '$(Build.ArtifactStagingDirectory)\MyApp.msix'
vhdxOutputPath: '$(Build.ArtifactStagingDirectory)\MyApp.vhdx'
將 MSIX 應用程式附加套件發佈至 AVD
以下範例示範如何在 yaml 檔案中設定 avd 應用程式附加工作:
steps:
- task: MSIX.msix-ci-automation-task-dev.avd-app-attach-publish.AVDAppAttachPublish@0
displayName: 'Publish MSIX app attach package to AVD'
inputs:
vhdxPath: '$(Build.ArtifactStagingDirectory)/App.vhdx'
connectedServiceNameARM: 'ed1db943-1e1c-4eac-8683-ead2abc281b5'
resourceGroupName: 'appattach-test-rg'
storageAccount: 'appattachteststorage'
fileShare: 'appattach-test-fs'
hostPool: 'appattach-hostpool'
workSpace: 'appattach-test-ws'
applicationGroup: 'appattach-test-ag-rail'
提供意見反應的方式
我們很樂意聽到您對 [MSIX 封裝] 延伸模組的意見反應。 請透過下列管道與我們聯繫:
- 在 Azure DevOps Marketplace 上檢閱延伸模組
- MSIX 技術社群
- GitHub 開放原始碼專案 - 此延伸模組的原始程式碼屬於 MSIX SDK 開放原始碼專案的一部分,歡迎投稿與提供建議。