Implementación de paquetes mediante el CRM Package Deployer y Windows PowerShell
Publicado: noviembre de 2016
Se aplica a: Dynamics CRM 2015
Package Deployer de Microsoft Dynamics CRM permite que los administradores implementar paquetes en una instancia de Microsoft Dynamics CRM (local) o de Microsoft Dynamics CRM Online. Un "paquete" puede estar compuesto por cualquiera de estos elementos o por todos ellos:
Uno o varios archivos de solución de Dynamics 365.
Archivos sin formato o archivos de datos exportados de Herramienta de migración de la configuración. Para obtener más información acerca de la Herramienta de migración de la configuración, consulte Administrador datos de configuración.
El código personalizado que puede ejecutarse durante o después del paquete se implementa en Microsoft Dynamics 365.
Contenido HTML específico del paquete que mostrarse al principio y al final del proceso de implementación del paquete. Puede resultar útil para proporcionar una descripción de las soluciones y los archivos que se implementan en el paquete.
Los programadores crean los paquetes utilizando la plantilla de implementación de paquete en Microsoft Visual Studio.Más información:MSDN: Crear paquetes para el Implementador de paquetes CRM
Una vez creado el paquete, puede implementarlo ejecutando Implementador de paquetes de CRM o con los cmdlets de Windows PowerShell para la herramienta.
En este tema
Utilice la herramienta Implementador de paquetes de CRM para implementar paquetes
Utilice Windows PowerShell para implementar paquetes
Solucione problemas de implementación de paquetes utilizando archivos de registro
Recomendaciones para implementar paquetes
Utilice la herramienta Implementador de paquetes de CRM para implementar paquetes
La Herramienta de implementador de paquetes solo puede procesar un paquete cada vez. Sin embargo, proporciona a los usuarios la capacidad de seleccionar un paquete para implementar desde varios paquetes disponibles en el directorio de Herramienta de implementador de paquetes. Algunas de las pantallas y acciones de la herramienta difieren en función de la definición del paquete. No es necesario que instale la Herramienta de implementador de paquetes. Sólo descárguela y ejecútela.
Obtenga el paquete que se va a implementar. Un paquete es una colección de archivos y carpetas que se crea en la carpeta del proyecto de Visual Studio (<Project>\Bin\Debug) al generar el proyecto de paquete en Visual Studio. Copie lo siguiente de la carpeta de depuración del proyecto:
Carpeta <PackageName>: Esta carpeta contiene las soluciones, la configuración de importación, y el contenido para el paquete.
<PackageName>.dll: El ensamblado contiene el código para el paquete. De forma predeterminada, el nombre del ensamblado es el mismo que el nombre del proyecto de Visual Studio.
Para obtener información detallada sobre la creación de un paquete utilizando Visual Studio, vea MSDN: Crear un paquete para la herramienta Package Deployer.
Para este tema, supondremos que la carpeta y el ensamblado del paquete de la carpeta de depuración del proyecto Visual Studio(<Project>\Bin\Debug) se copian en la carpeta c:\DeployPackage.
Descargue el paquete de SDK de Microsoft Dynamics CRM. A continuación, ejecute el archivo descargable para extraer el contenido del paquete.
Explore la carpeta SDK\Tools\PackageDeployer y copie la carpeta y el ensamblado del paquete del c:\DeployPackage en la carpeta SDK\Tools\PackageDeployer.
Después de copiar los archivos, ejecute la herramienta haciendo doble clic en el archivo PackageDeployer.exe en la carpeta SDK\Tools\PackageDeployer.
Haga clic en Continuar en la pantalla principal de la herramienta.
En la pantalla Conectarse a Microsoft Dynamics CRM, proporcione los detalles de autenticación para conectarse al servidor de Dynamics 365 donde desea implementar el paquete. Si tiene varias organizaciones, y desea seleccionar la organización donde desea implementar el paquete, active la casilla Mostrar siempre la lista de organizaciones disponibles. Haga clic en Iniciar sesión.
Si tiene varias organizaciones en el servidor de Dynamics 365 y activó la casilla Mostrar siempre la lista de organizaciones disponibles, la próxima pantalla le permitirá elegir la organización con la que desea conectarse. Seleccione una organización de Dynamics 365 para conectarse.
La siguiente pantalla le pedirá que seleccione un paquete para implementar. Seleccione el nombre del paquete, y haga clic en Siguiente.
Siga las instrucciones de las pantallas posteriores para completar la implementación del paquete.
Las pantallas aparecen según la definición del paquete que seleccionó para implementación. Para una implementación de extremo a extremo del paquete que use Herramienta de implementador de paquetes, vea el tema acerca de la implementación de los paquetes de Unified Service Desk: Implementar las aplicaciones de escritorio unificadas ejemplo de servicio al Servidor de CRM con el Implementador de paquetes
Utilice Windows PowerShell para implementar paquetes
La Herramienta de implementador de paquetes también proporciona soporte de Windows PowerShell para implementar paquetes.
Realice los siguientes pasos para usar cmdlets de PowerShell para implementar paquetes:
Requisitos previos
Registro de los cmdlets
Use el cmdlet para recuperar paquetes
Use el cmdlet para conectarse al servidor de CRM
Use el cmdlet para implementar paquetes
Obtenga ayuda detallada sobre cmdlets
Requisitos previos
Estos son los requisitos previos para usar los cmdlets de PowerShell:
Se requiere PowerShell 3.0 o posterior para implementar un paquete utilizando PowerShell. Para comprobar su versión de PowerShell, ejecute una ventana de PowerShell y luego ejecute el siguiente comando: $Host.
Establezca la directiva de ejecución para ejecutar los scripts de PowerShell firmados. Para ello, ejecute una ventana de PowerShell como administrador, y luego ejecute el siguiente comando: Set-ExecutionPolicy -ExecutionPolicy AllSigned
Registro de los cmdlets
Debe registrar los cmdlets de Windows PowerShell para la Herramienta de implementador de paquetes para poder usarlos. Para registrar los cmdlets:
Si aún no lo ha hecho, descargue el paquete SDK de Dynamics 365 del Centro de descarga de Microsoft, y ejecute el archivo del paquete para extraer el contenido del paquete. Supongamos que extrajo el paquete en la carpeta c:\CRM de su equipo. El Herramienta de implementador de paquetes y los demás archivos necesarios pasan a estar disponibles en la siguiente ubicación: c:\CRM\SDK\Tools\PackageDeployer.
Inicie Windows PowerShell en el equipo con los privilegios elevados (ejecute como administrador).
En el mensaje de la ventana de Windows PowerShell, cambie el directorio a la carpeta de Windows PowerShell en la carpeta PackageDeployer. En este caso:
cd c:\CRM\SDK\Tools\PackageDeployer\PowerShell
Ejecute el script RegisterXRMTooling.ps1 para registrar el ensamblado (dll) de Windows PowerShell del Package Deployer, e instale el complemento de Windows PowerShell para la Herramienta de implementador de paquetes. Para ello, escriba el siguiente comando, y presione ENTRAR:
.\RegisterXRMTooling.ps1
Agregue el complemento de Windows PowerShell para útiles de XRM. Esto registrará los cmdlets siguientes: Get-CrmConnection y Get-CrmOrganizations.
Add-PSSnapin Microsoft.Xrm.Tooling.Connector
Agregue el complemento de Windows PowerShell para Package Deployer. Esto registrará los cmdlets siguientes: Get-CrmPackages y Import-CrmPackage.
Add-PSSnapin Microsoft.Xrm.Tooling.PackageDeployment
Ahora está listo para usar estos cmdlets de Windows PowerShell. Para mostrar los cmdlets que registró, ejecute el comando siguiente en el símbolo en la ventana de Windows PowerShell:
Get-Help “Crm”
Use el cmdlet para recuperar paquetes
Para poder usar el cmdlet, asegúrese de haber copiado el paquete en la carpeta PackageDeployer (en este caso, c:\CRM\SDK\Tools\PackageDeployer). Un paquete es una colección de archivos y carpetas que se crea en la carpeta del proyecto de Visual Studio (<Project>\Bin\Debug) al generar el proyecto en Visual Studio. Copie el contenido completo de la carpeta de depuración del proyecto en la carpeta PackageDeployer. Para obtener información detallada sobre la generación de un paquete utilizando Visual Studio, vea MSDN: Crear paquetes para el CRM Package Deployer.
En la ventana de PowerShell, use el siguiente cmdlet para devolver una lista de paquetes disponibles para importación en el directorio especificado (en este caso, c:\CRM\SDK\Tools\PackageDeployer):
Get-CrmPackages –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer
Si desea obtener información acerca de un paquete en un directorio, puede usar el cmdlet Get-CrmPackages junto con el parámetro - PackageName para especificar el nombre del ensamblado en el directorio que contiene la definición del paquete.
Get-CrmPackages –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer –PackageName SampleCRMPackage.dll
Use el cmdlet para conectarse al servidor de CRM
Especifique las credenciales para conectarse a la instancia de Microsoft Dynamics CRM Online o de Microsoft Dynamics CRM (local). Si ejecuta el siguiente comando se le pedirá que escriba su nombre de usuario y contraseña para conectarse a la instancia Dynamics 365 y la almacenaremos en la variable $Cred, y la usaremos más adelante para conectarse al servidor de CRM.
$Cred = Get-Credential
Use el siguiente comando para obtener una conexión a la instancia de Microsoft Dynamics CRM Online o de Microsoft Dynamics CRM (local). Almacenaremos la información de conexión en la variable $CRMConn:
Si va a conectarse a la instancia de Microsoft Dynamics CRM (local):
$CRMConn = Get-CrmConnection -ServerUrl http://<your_CRM_Server> -OrganizationName <your_Org_Name> -Credential $Cred
Si va a conectarse al servidor de Microsoft Dynamics CRM Online:
$CRMConn = Get-CrmConnection -DeploymentRegion NorthAmerica –OnlineType Office365 –OrganizationName <your_Org_Name> -Credential $Cred
Nota
Para el parámetro DeploymentRegion, los valores válidos son NorthAmerica, EMEA y APAC. Para el parámetro OnlineType, los valores válidos son Office365 y LiveID.
Sus credenciales suministradas se validan al ejecutar el comando en el paso 2.
Use el cmdlet para implementar paquetes
A continuación, use la información de conexión de CRM almacenada en la variable $CRMConn para implementar paquetes en la instancia de Dynamics 365. Ejecute el siguiente comando para implementar el paquete:
Import-CrmPackage –CrmConnection $CRMConn –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer –PackageName SampleCRMPackage.dll –UnpackFilesDirectory c:\UnpackedFiles -Verbose
Nota
-
Los parámetros CrmConnection, PackageDirectory y PackageName son obligatorios.
-
Para el parámetro PackageName, tiene que especificar el nombre del ensamblado que contiene la definición del paquete.
-
No necesita especificar el parámetro UnpackFilesDirectory si el paquete no desempaqueta archivos durante la implementación del paquete. Cuando define un paquete en Visual Studio, especifique si desempaqueta archivos con el parámetro agentdesktopzipfile en el archivo ImportConfig.xml.Más información:MSDN: Crear paquetes para el Implementador de paquetes CRM
-
El parámetro de Verbose es opcional, y se usa para mostrar un registro detallado de las actividades realizadas durante el proceso de implementación del paquete.
Obtenga ayuda detallada sobre cmdlets
En la ventana de PowerShell, use el cmdlet Get-Help con un nombre de cmdlet para ver una ayuda detallada del cmdlet. Por ejemplo, para obtener ayuda detallada para el cmdlet Import-CrmPackage:
Get-Help Import-CrmPackage -full
Para ver la ayuda en pantalla de los cmdlets, vea Referencia de CRM PowerShell.
Solucione problemas de implementación de paquetes utilizando archivos de registro
La Herramienta de implementador de paquetes proporciona soporte de registro para obtener información detallada sobre los errores que se puedan producir cuando un usuario inicia sesión en la instancia de Microsoft Dynamics CRM utilizando la herramienta e implementando paquetes. La herramienta genera tres archivos de registro que estén disponibles en la siguiente ubicación en el equipo donde se ejecuta la herramienta: c:\Users\<UserName>\AppData\Roaming\Microsoft\PackageDeployer\<Version>.
Login_ErrorLog.log: Proporciona información sobre los problemas que se han producido cuando se usa la herramienta para iniciar sesión en la instancia de Dynamics 365. Si hay un problema al iniciar sesión, aparecerá un mensaje en la pantalla de inicio de sesión de la herramienta con un vínculo a este archivo de registro. El mensaje indica que se ha producido un error al procesar la solicitud de inicio de sesión y el usuario puede ver el registro de error. Puede hacer clic en el vínculo del mensaje para ver este archivo de registro. El archivo de registro se crea la primera vez que se encuentran problemas de inicio de sesión en la herramienta. Después de eso, el archivo de registro se usa para registrar información sobre un problema de inicio de sesión, siempre que aparece.
PackageDeployer.log: Proporciona información detallada sobre cada tarea realizada en la herramienta durante la implementación de paquetes. Puede ver el archivo de registro desde la herramienta haciendo clic en el vínculo Ver registro en la parte inferior de la pantalla.
ComplexImportDetail.log: Proporciona información detallada sobre los datos importados en la última implementación utilizando la herramienta. Cada vez que implementa un paquete utilizando esta herramienta, los detalles existentes del archivo de registro pasan a un archivo denominado ComplexImportDetail._old.log en el mismo directorio, y el archivoComplexImportDetail.log muestra información sobre la última importación realizada utilizando la herramienta.
Recomendaciones para implementar paquetes
Mientras implementa paquetes, los administradores de Dynamics 365 deben:
Insistir en un ensamblado de paquete firmado de modo que pueda realizar el seguimiento de un ensamblado hasta su origen.
Comprobar el paquete en una instancia de preproducción (preferiblemente una imagen reflejada de la instancia de producción) antes de ejecutarlo en un servidor de producción.
Realizar una copia de seguridad de la instancia de producción antes de implementar un paquete.
Ver también
MSDN: Crear paquetes para el CRM Package Deployer
Administración de CRM 2015
© 2016 Microsoft Corporation. Todos los derechos reservados. Copyright