Extensão de empacotamento do MSIX

A Extensão de Empacotamento do MSIX é uma extensão do Azure DevOps que ajuda a criar, empacotar e assinar os aplicativos do Windows usando o formato de pacote MSIX.

Os fluxos de trabalho de CI/CD se tornaram parte integrante do processo de desenvolvimento para melhorar a eficiência e a qualidade, ao mesmo tempo reduzindo o custo e o tempo de colocação no mercado. A solução de CI/CD da Microsoft, Pipelines do Azure DevOps, é amplamente adotada e popular, mas o processo atual de integração de fluxos de trabalho de build e de implantação para aplicativos que precisam ser empacotados como MSIX no Azure Pipelines é entediante, especificamente para pessoas que não são especialistas no Azure Pipelines e nem no MSIX. Essa extensão do Azure DevOps oferece uma solução simples e intuitiva, facilitando a automatização do processo de build e de implantação para aplicativos que estão sendo empacotados como MSIX e para aplicativos com fluxos de trabalho existentes de CI/CD a fim de mover para o MSIX sem interromper os mecanismos de build e de implantação.

A Extensão de Empacotamento do MSIX contém as seguintes tarefas que você pode usar para criar um pipeline personalizado de acordo com os requisitos:

  1. Compilação e empacotamento do MSIX – para compilar e empacotar aplicativos do Windows usando o formato de pacote MSIX
  2. Assinatura de pacote MSIX – Para assinar pacotes MSIX usando um certificado confiável
  3. Arquivo do instalador do aplicativo para MSIX – Para criar ou atualizar um arquivo .appinstaller para os aplicativos MSIX
  4. Criar pacote para a anexação de aplicativo MSIX – Para criar um pacote VHDX para a anexação de aplicativo MSIX

Instalar a extensão

Procure no Marketplace do Azure DevOps e busque o nome da Extensão de Empacotamento do MSIX.

Browse the marketplace

Criar um pipeline

Crie um pipeline para o projeto do Azure DevOps.

select pipeline

New pipeline

Selecione a opção de Usar o editor clássico para criar um pipeline sem YAML.

Use the classic editor

Selecione o sistema de controle de versão e forneça os detalhes do repositório e do branch padrão.

Configure source vcs

Quando vir uma solicitação para Selecionar um modelo, clique em iniciar com um Trabalho vazio.

Start with an empty job

Altere a seleção de Especificação do Agente para windows-2019, uma vez que a extensão do MSIX é executada apenas em um agente do Windows.

Agent specification windows

Você deverá ver Trabalho do agente 1 por padrão no pipeline. Clique no símbolo de adição para Adicionar uma tarefa ao Trabalho do agente 1.

Pesquise por MSIX na barra de pesquisa Adicionar tarefas e você verá as tarefas mencionadas anteriormente na Extensão de Empacotamento do MSIX. Você pode criar o pipeline de maneira personalizada adicionando as tarefas necessárias de acordo com os requisitos. Mas nós demonstraremos como configurar todas as quatro tarefas nesta página.ADO Extension Image1

Compilação e empacotamento do MSIX

Observação: caso você esteja tentando criar um aplicativo empacotado usando essa tarefa, é necessário incluir o Projeto de Empacotamento de Aplicativo do Windows, pois a tarefa precisa do arquivo Package.appxmanifest. A tarefa não será adicionada automaticamente para você.

Aqui está um exemplo que mostra como configurar o build e a tarefa de empacotamento no arquivo 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

Assinatura do pacote MSIX

A tarefa de assinatura permite assinar usando um certificado. O certificado pode vir da biblioteca de Arquivos Seguros ou ser codificado como uma cadeia de caracteres, como se fosse buscado por meio da tarefa do Azure Key Vault.

Aqui está um exemplo que mostra como configurar a tarefa de assinatura de pacote no arquivo YAML:

steps:
- task: MSIX.msix-ci-automation-task-dev.msix-signing.MsixSigning@1
  displayName: 'Sign MSIX package'
  inputs:
    certificateType: base64
    encodedCertificate: '$(kvtestcert)'

Arquivo do instalador de aplicativo MSIX

Aqui está um exemplo que mostra como configurar o a tarefa do arquivo AppInstaller no arquivo YAML:

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

Criar pacote para a anexação de aplicativo MSIX

Aqui está um exemplo que mostra como configurar a tarefa para criar um arquivo VHDX para anexação de aplicativo no arquivo YAML:

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'

Publicar pacote de anexação de aplicativo MSIX no AVD

Este é um exemplo que mostra como configurar a tarefa de anexação de aplicativo avd no arquivo yaml:

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' 

Maneiras de fornecer comentários

Adoraríamos ouvir comentários sobre a Extensão de Empacotamento do MSIX. Entre em contato conosco por meio dos seguintes canais: