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:
Compilación y empaquetado de MSIX: permite compilar y empaquetar aplicaciones de Windows mediante el uso del formato MSIX.
Firma de paquetes MSIX: permite firmar los paquetes MSIX con un certificado de confianza.
Archivo del instalador de aplicación para MSIX: permite crear o actualizar un archivo .appinstaller para las aplicaciones MSIX.
Creación de paquete para conexión de aplicaciones MSIX: permite crear un paquete de VHDX para la conexión de aplicaciones MSIX.
Instale la extensión
Examine Azure DevOps Marketplace y busque el nombre de extensión Empaquetado MSIX.
Creación de una canalización
Cree una nueva canalización para el proyecto de Azure DevOps.
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).
Seleccione el sistema de control de versiones y proporcione el repositorio y los detalles de la rama predeterminada.
Cuando se le pregunte si quiere Seleccionar una plantilla, haga clic en la opción para empezar con un trabajo vacío.
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.
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.
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.
Nombre para mostrar: personalice el nombre de la tarea.
Ruta de acceso de salida: especifique la ruta de acceso de salida del paquete MSIX que se creará mediante esta tarea. En la ruta de acceso del ejemplo anterior se utiliza la variable predefinidaBuild.ArtifactStagingDirectory. Esta variable es la ruta de acceso local en el agente para almacenar artefactos y se utiliza aquí para almacenar los archivos de salida de la tarea que pueden publicarse más adelante mediante una tarea de publicación de artefactos.
Build Solution with MSBuild (Compilar solución con MSBuild): seleccione esta opción para compilar la solución con MSBuild para la plataforma de destino especificada. Deje la casilla desactivada si ya tiene archivos binarios que solamente deben empaquetarse. Si deja la casilla desactivada, se le pedirá que proporcione la ruta de acceso a los archivos binarios.
Project to Build (Proyecto para compilar): indique la ruta de acceso al archivo de su proyecto o solución que es necesario compilar.
Clean before Building (Limpiar antes de compilar): active esta casilla si quiere que la tarea ejecute una limpieza de compilación antes de compilar.
Generate MSIX Bundle (Generar conjunto de MSIX): active esta casilla para generar un conjunto de MSIX en lugar de un paquete. Asegúrese de asignar un nombre al archivo de salida en la opción Ruta de acceso de salida con una extensión .msixbundle en lugar de .msix.
Configuración: elija entre Depurar y Publicar configuraciones de compilación.
Plataforma: especifique la plataforma de compilación de destino, por ejemplo: x64, x86, Any CPU (Cualquier CPU).
Update App Version in Manifest (Actualizar versión de la aplicación en el manifiesto): active esta casilla para cambiar la versión especificada de la aplicación en el archivo .appxmanifest de la aplicación. Esto no sobrescribirá el archivo .appxmanifest, pero cambiará la versión de la aplicación en el paquete MSIX de salida que se ha generado. Si se selecciona esta opción, se le pedirá que proporcione la ruta de acceso al archivo de manifiesto y el número de versión de la aplicación que se va a establecer para la aplicación.
Application Package Distribution Mode (Modo de distribución de paquete de la aplicación): en el menú desplegable, seleccione el modo para generar un paquete de la aplicación de Store o un paquete de la aplicación que no sea de Store.
MSBuild Version and Architecture (Versión y arquitectura de MSBuild): Especifique las opciones avanzadas para personalizar MSBuild.
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.
En este ejemplo se muestra la tarea cuando el origen del certificado es la biblioteca Archivo seguro.
En este ejemplo se muestra la tarea cuando el origen del certificado es una instancia de Azure Key Vault.
Nombre para mostrar: personalice el nombre de la tarea.
Package to sign (Paquete para firmar): la tarea de firma de paquetes de MSIX utiliza SignTool para firmar todos los archivos que coinciden con esta ruta de acceso, independientemente de si son paquetes o conjuntos de MSIX.
Certificate file type (Tipo de archivo de certificado): Seleccione el origen del archivo de certificado que se va a usar.
Time Stamp Server (Servidor de marca de tiempo): una dirección URL que especifica la dirección de un servidor de marca de tiempo. Se trata de un parámetro opcional.
Nombre para mostrar: personalice el nombre de la tarea.
Paquete: la ruta de acceso al paquete o conjunto para el que quiere crear un instalador de aplicación.
Ruta de acceso del archivo de salida: la ruta de acceso al archivo del instalador de aplicación que se va a escribir.
Method to Create App Installer File (Método para crear el archivo de instalador de aplicación): elija si quiere crear un nuevo archivo de instalador de aplicación o actualizar uno existente. Si decide actualizar uno existente, se le pedirá que indique la ruta de acceso al archivo del instalador de aplicación existente.
Version for App Installer file (Versión del archivo del instalador de aplicación): el número de versión que se proporcionará. Debe tener el formato (principal).(secundaria).(compilación).(revisión).
URI: el identificador URI web correspondiente al archivo de instalador de aplicación al que se redirige.
Main Package/Bundle URI (URI de paquete o conjunto principal): el identificador URI de la ubicación del paquete o conjunto de la aplicación.
Update On Launch (Actualizar al iniciarse): seleccione esta casilla para establecer que la aplicación busque actualizaciones cuando se inicie. Si se selecciona esta casilla, se le pedirá que proporcione detalles, como el valor de Hours Between Update Checks (Horas entre búsquedas de actualizaciones), o si quiere activar las casillas Show UI to User when Updating (Mostrar interfaz de usuario al usuario al actualizar) y Update to Block App Activation (Actualizar para bloquear la activación de la aplicación).
Nombre para mostrar: personalice el nombre de la tarea.
Ruta de acceso al paquete: la ruta de acceso al paquete o conjunto de MSIX.
VHDX Output Path (Ruta de acceso de salida de VHDX): la ruta de acceso al archivo VHDX que se creará mediante la tarea.
VHDX size (Tamaño de VHDX): el tamaño máximo en MB del disco VHDX.
Después de configurar todas las tareas, puede utilizar una tarea de publicación de artefactos de compilación para colocar todos los artefactos de la ubicación temporal en los artefactos de Azure Pipelines o en un recurso compartido de archivos de su elección.
Publicación del paquete de asociación de aplicaciones MSIX en AVD
Nombre para mostrar: personalice el nombre de la tarea.
Ruta de acceso al paquete: la ruta de acceso al paquete o conjunto de MSIX.
VHDX Output Path (Ruta de acceso de salida de VHDX): la ruta de acceso al archivo VHDX que se creará mediante la tarea.
VHDX size (Tamaño de VHDX): el tamaño máximo en MB del disco VHDX.
Nombre para mostrar: personalice el nombre de la tarea.
Ruta de acceso VHDX: es la ruta del archivo VHDX que se asociará como aplicación (se publicará) en Azure Virtual Desktop (AVD).
Suscripción de Azure: esta es la conexión de servicio a la suscripción de Azure de destino con la que la aplicación se debe asociar. En la lista desplegable se enumeran todas las suscripciones de Azure disponibles para el usuario de ADO que ha iniciado sesión. El usuario puede seleccionar cualquiera de estas suscripciones y establecer una conexión de servicio con ella.
Grupo de recursos: elija el grupo de recursos en el que se debe publicar la aplicación. Este grupo de recursos debe contener todos los recursos de destino necesarios para la asociación de aplicaciones, como la cuenta de almacenamiento, el grupo de hosts, el área de trabajo y el grupo de aplicaciones. En esta lista desplegable se enumeran todos los grupos de recursos disponibles en la suscripción de Azure seleccionada.
Cuenta de almacenamiento: elija la cuenta de almacenamiento en la que se debe cargar la aplicación (o VHDX). En esta lista desplegable se enumeran todas las cuentas de almacenamiento disponibles en el grupo de recursos seleccionado.
Recurso compartido de archivos: elija el recurso compartido de archivos de la cuenta de almacenamiento seleccionada en el que se debe cargar la aplicación (o VHDX). En esta lista desplegable se enumeran todos los recursos compartidos de archivos disponibles en la cuenta de almacenamiento seleccionada.
Grupo de hosts: elija el grupo de hosts que se debe usar para asociar la aplicación. En esta lista desplegable se enumeran todos los grupos de hosts disponibles en el grupo de recursos seleccionado.
Área de trabajo: elija el área de trabajo que se debe usar para asociar la aplicación. En esta lista desplegable se enumeran todas las áreas de trabajo disponibles en el grupo de recursos seleccionado.
Grupo de aplicaciones: elija el grupo de aplicaciones que se debe usar para asociar la aplicación. En esta lista desplegable se enumeran todos los grupos de aplicaciones disponibles en el grupo de recursos seleccionado.
Después de configurar todas las tareas, puede utilizar una tarea de publicación de artefactos de compilación para colocar todos los artefactos de la ubicación temporal en los artefactos de Azure Pipelines o en un recurso compartido de archivos de su elección.
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:
Revisión de la extensión en Azure DevOps Marketplace
Proyecto de código abierto de GitHub: el código fuente de esta extensión forma parte del proyecto de código abierto del SDK de MSIX, que recibe con gusto las contribuciones y sugerencias.