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 封裝」延伸模組包含下列工作,可讓您根據需求自訂建置您的管線:

  1. MSIX 組建和套件 - 使用 MSIX 套件格式建置和封裝 Windows 應用程式
  2. MSIX 套件簽署 - 使用受信任的憑證簽署 MSIX 套件
  3. MSIX 的應用程式安裝程式- 建立或更新 MSIX 應用程式的 .appinstaller file 檔案
  4. 建立 MSIX 應用程式連結的套件 - 建立 MSIX 應用程式連結的 VHDX 套件

安裝延伸模組

瀏覽 Azure DevOps Marketplace 並尋找延伸模組名稱「MSIX 封裝」延伸模組。

Browse the marketplace

建立管線

為 Azure DevOps 專案建立新管線。

select pipeline

New pipeline

選取此選項以「使用傳統編輯器來建立管線,而不需使用 YAML」

Use the classic editor

選取您的版本控制系統,並提供您的存放庫和預設分支詳細資料。

Configure source vcs

當系統要求您選取範本時,按兩下 [從空白作業開始]。

Start with an empty job

將代理 程式規格 選項變更為 windows-2019 ,因為 MSIX 擴充功能只在 Windows 代理程式上執行。

Agent specification windows

根據預設,您應該會在 管線中看到 Agent 作業 1 。 按一下加號,「將工作新增至代理程式作業 1」

在 [新增工作] 搜尋列中搜尋 MSIX,您應該會在 MSIX 封裝延伸模組中看到之前所述的工作。 您可以根據本身需求來新增所需的工作,以自訂建置您的管線。 但是,我們將示範如何設定此頁面上的所有四個工作。ADO Extension Image1

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 封裝] 延伸模組的意見反應。 請透過下列管道與我們聯繫: