Implementar aplicaciones con Package Deployer
Package Deployer permite a los administradores implementar paquetes en entornos de Microsoft Dataverse. Estos paquetes también los utilizan proveedores de software independientes (ISV) para implementar soluciones certificadas en los entornos de los clientes. Los desarrolladores pueden ayudar a configurar el paquete y a compilar código que se ejecute durante las fases de instalación.
Un paquete de implementación se diferencia de una solución única de Dataverse en que puede instalar una aplicación completa que incluye múltiples soluciones, datos de referencia y la instalación de una lógica personalizada. Un paquete puede constar de uno o todos los siguientes elementos:
Uno o varios archivos de soluciones de Dataverse
Archivos planos o un archivo de datos de configuración exportado desde la herramienta de migración de la configuración
Código personalizado que se puede ejecutar antes o después de que el paquete se implemente en la instancia de Dataverse o durante la propia implementación.
Contenido HTML específico del paquete que se puede mostrar al principio y al final del proceso de implementación. Esto puede resultar útil para proporcionar una descripción de las soluciones y los archivos que se implementan en el paquete.
Creación de un paquete
Microsoft proporciona una plantilla de Visual Studio para crear paquetes. El nivel de esfuerzo puede variar según la cantidad de código personalizado que se incluya para su ejecución durante la instalación. Con frecuencia, un paquete solo incluye una o más soluciones y datos. Los siguientes pasos son los necesarios para crear un paquete de implementación:
Puede inicializar una carpeta con la plantilla del proyecto de implementación y crear su paquete inicial mediante el CLI de Power Platform. El siguiente comando se utiliza para llenar una carpeta:
pac package init --outputDirectory MyPackage
Una vez inicializado, puede comenzar a personalizarlo según sus necesidades específicas. Por ejemplo, si quisiera crear un paquete para implementar dos soluciones de Dataverse, ejecutaría los siguientes comandos para configurar el paquete para que las incluya.
pac package add-solution --path ..\MySolution1_1_0_0_2_managed.zip
pac package add-solution --path ..\MySolution2_2_0_0_0_managed.zip
Puede agregar lógica personalizada al editar la clase PackageImportExtension.cs y agregar lógica al controlador de eventos apropiado. Los siguientes son los eventos disponibles que puede agregar a su lógica para ejecutar:
InitializeCustomExtension: se llama para inicializar cualquier función en la extensión personalizada.
BeforeImportStage: se llama antes de que comience el proceso de importación principal, después de las soluciones y los datos.
PreSolutionImport: se genera antes de importar la solución nombrada para permitir que se hagan ajustes de configuración en el proceso de importación.
RunSolutionUpgradeMigrationStep: se llama durante una actualización de una solución cuando ambas soluciones, la antigua y la nueva, están presentes en el sistema. Esta función se puede utilizar para proporcionar un medio para hacer una transformación o actualización de datos mientras se realiza una actualización de la solución.
AfterPrimaryImport: se llama después de que se hayan completado todos los pasos de importación, lo que permite realizar personalizaciones o ajustes finales del entorno.
También puede hacer otras personalizaciones al llevar a cabo cambios en los archivos de configuración directamente.
Tras la configuración y tras añadir código personalizado, puede crear el paquete a fin de prepararlo para la implementación. Puede cargar el archivo .csproj en Visual Studio o usar el comando dotnet para ejecutar MSBuild. A continuación, se muestra el comando para crear el paquete desde la línea de comando:
dotnet publish
Al compilar el paquete, se creará un archivo .zip que contiene todo lo necesario para implementar el paquete.
Implementación de un paquete
Cuando se ha configurado un paquete, se puede implementar en entornos de Dataverse mediante uno de los siguientes métodos:
CLI: este método utiliza Power Platform CLI para autenticarse en el entorno de destino y ejecutar el comando
pac package deploy
.De forma interactiva: este método proporciona una experiencia similar a la de un asistente para un usuario que tenga acceso administrativo al entorno para instalar el paquete. A medida que avanza la instalación, se informa visualmente al usuario sobre el progreso. Esta opción utiliza la aplicación Windows Package Deployment Tool, que se puede iniciar mediante el comando
pac tool pd
.Windows PowerShell: este método permite instalar desde la línea de comandos. Es adecuado para paquetes implementados como parte de un proceso automatizado.
AppSource: este método se utiliza cuando se selecciona una oferta de ISV para instalarla desde el portal de AppSource.
Puede leer más sobre cómo funciona la implementación con estos enfoques en Implementar paquetes usando Package Deployer y Windows PowerShell.
Inclusión de datos
Una de las claves que diferencia a Package Deployer de simplemente instalar una solución es que puede incluir datos de referencia/configuración como parte de un paquete de implementación.
La herramienta de migración de la configuración se utiliza para transportar la configuración y los datos de prueba de un entorno a otro. Proporciona los medios para capturar dichos datos, incluirlos en el repositorio de control de código fuente y utilizarlos para automatizar las pruebas. Esta herramienta se puede utilizar de forma independiente. Sin embargo, el archivo data.zip que produce como resultado se puede incluir como parte de un paquete de implementación. Los pasos de alto nivel son:
Definir el esquema de los datos de origen que se van a exportar
Utilizar el esquema para exportar datos
Importar los datos exportados
Los siguientes diagramas muestran el proceso para utilizar la herramienta:
Cuando se utiliza con Package Deployer, el archivo .zip de salida se puede incluir en el paquete de implementación.
Estas son algunas de las principales ventajas de la migración de la configuración para preparar datos:
Selección de las tablas y columnas desde donde desee exportar los datos de configuración.
Análisis de las relaciones entre los registros y ejecución de la importación mediante varios pases para garantizar la integridad de los datos.
Utilice una consulta para definir un subconjunto de registros que se deban incluir en el paquete.
Evite registros duplicados en el sistema de destino definiendo una condición de unicidad para cada tabla que se base en una combinación de columnas de la tabla, lo cual se utiliza para comparar con los valores del sistema de destino.
Si no hay valores coincidentes, se crea un registro único en el sistema de destino. Si se encuentra un registro coincidente, se actualiza en el sistema de destino.
Valide el esquema de las tablas seleccionadas que se vayan a exportar para asegurarse de que estén presentes todos los datos/información necesarios.
Reutilice un esquema existente para exportar datos desde un sistema de origen.
Mueva automáticamente los valores de las columnas de fecha y hora hacia adelante en la importación para mantener los datos actualizados en los entornos de demostración.
Utilizar Package Deployer para implementar aplicaciones le permite incluir varios archivos de solución y datos, y ejecutar una lógica personalizada durante el proceso de instalación. Los administradores pueden utilizar una experiencia de instalación similar a la de un asistente y no tienen que preocuparse de cómo instalar componentes individuales o importar datos de configuración.