Extensión de empaquetado MSIX

La extensión Empaquetado MSIX es una extensión de Azure DevOps que ayuda a compilar, empaquetar y firmar aplicaciones de Windows mediante el formato de paquete MSIX.

Los flujos de trabajo de CI/CD se han convertido en una parte integral del proceso de desarrollo con el fin de mejorar la eficacia y la calidad, al tiempo que se reduce el coste y el tiempo de comercialización. Si bien la solución de CI/CD de Microsoft Azure DevOps Pipelines se ha adoptado ampliamente y es popular, el proceso actual de integración de los flujos de trabajo de compilación e implementación de las aplicaciones que deben empaquetarse como MSIX en Azure Pipelines resulta tedioso, en especial para aquellos que no son expertos en Azure Pipelines ni en MSIX. Esta extensión de Azure DevOps ofrece una solución sencilla e intuitiva que facilita la automatización del proceso de compilación e implementación de las aplicaciones que se empaquetan como MSIX, así como de las aplicaciones con flujos de trabajo de CI/CD existentes que se pasan a MSIX, sin interrumpir sus mecanismos de compilación e implementación.

La extensión Empaquetado MSIX incluye las siguientes tareas que se pueden utilizar para crear una compilación personalizada de acuerdo con los requisitos:

  1. Compilación y empaquetado de MSIX: permite compilar y empaquetar aplicaciones de Windows mediante el uso del formato MSIX.
  2. Firma de paquetes MSIX: permite firmar los paquetes MSIX con un certificado de confianza.
  3. Archivo del instalador de aplicación para MSIX: permite crear o actualizar un archivo .appinstaller para las aplicaciones MSIX.
  4. Creación de paquete para conexión de aplicaciones MSIX: permite crear un paquete de VHDX para la conexión de aplicaciones MSIX.

Instalación de la extensión

Examine Azure DevOps Marketplace y busque el nombre de extensión Empaquetado MSIX.

Browse the marketplace

Creación de una canalización

Cree una nueva canalización para el proyecto de Azure DevOps.

select pipeline

New pipeline

Seleccione la opción Use the classic editor to create a pipeline without YAML (Usar el editor clásico para crear una canalización sin YAML).

Use the classic editor

Seleccione el sistema de control de versiones y proporcione el repositorio y los detalles de la rama predeterminada.

Configure source vcs

Cuando se le pregunte si quiere Seleccionar una plantilla, haga clic en la opción para empezar con un trabajo vacío.

Start with an empty job

Cambie su selección de Especificación del agente a windows-2019, ya que la extensión MSIX solo se ejecuta en un agente de Windows.

Agent specification windows

Debería ver Trabajo de agente 1 de manera predeterminada en la canalización. Haga clic en el símbolo más para agregar una tarea al trabajo del agente 1.

Busque MSIX en la barra de búsqueda Agregar tareas: deberían mostrarse las tareas antes mencionadas en la extensión Empaquetado MSIX. Puede personalizar la compilación de la canalización al agregar las tareas que necesita de acuerdo con sus requisitos. Pero se mostrará cómo configurar las cuatro tareas que se mencionan en esta página.ADO Extension Image1

Compilación y empaquetado de MSIX

Nota: Si está intentando compilar una aplicación empaquetada con esta tarea, deberá incluir el Proyecto de paquete de aplicación de Windows, porque la tarea necesita el archivo Package.appxmanifest La tarea no lo agregará automáticamente.

Este es un ejemplo de cómo configurar la tarea de compilación y empaquetado en el archivo 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

Firma de paquetes MSIX

La tarea de firma permite firmar con un certificado. El certificado puede provenir de la biblioteca Archivo seguro o estar codificado como cadena como si se capturara con la tarea de Azure Key Vault.

Este es un ejemplo de cómo configurar la tarea de firma de paquetes en el archivo YAML:

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

Archivo del instalador de aplicación para MSIX

Este es un ejemplo de cómo configurar la tarea de archivo AppInstaller en el archivo 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

Crear paquete para conexión de aplicaciones MSIX

Este es un ejemplo que muestra cómo configurar la tarea para crear un archivo VHDX para la conexión de aplicaciones en el archivo 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'

Publicación del paquete de asociación de aplicaciones MSIX en AVD

Este ejemplo muestra cómo se configura la tarea de asociación de aplicaciones de AVD en el archivo 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' 

Formas de proporcionar comentarios

Nos encantaría recibir sus comentarios sobre la extensión Empaquetado MSIX. Puede ponerse en contacto con nosotros a través de los siguientes canales: