5

Acabamos de comenzar el desarrollo y la implementación de dynamics crm 2011 en las instalaciones. ¿Es posible implementar la automatización para el control de código para promover el código desde el desarrollo hasta los sistemas de prueba? Parece que esto implicaría la exportación/importación de soluciones no administradas que contienen el código de desarrollo que se registró. No he podido encontrar las API en torno a esta funcionalidad.¿Es posible configurar una integración continua para MS dynamics crm 2011?

Si eso no es posible, ¿qué tan cerca puede estar? Parece que hay API para automatizar la carga de recursos web y complementos (por ejemplo, webresourceutility en el SDK), pero los recursos web aún deben vincularse manualmente al formulario en el que se utilizarán (en el caso de JavaScript). etc.) ¿Alguien ha avanzado en la automatización de partes de sus entornos de CRM?

como referencia, estamos usando vs 2010 & tfs 2010 utilizando MSuild para la integración continua actual.

Respuesta

4

Tenemos algunas técnicas que nos proporcionan una estructura de CI muy sólida.

Plugins

  • Todos nuestros plugins son CI Compilado por registro de
  • Todo el código que escribimos plug-in tiene detalles de auto-registro como parte del componente.
  • Hemos escrito una herramienta que reproduce los complementos en la base de datos, desinstalando los antiguos primero según los detalles del autoregistro .

Solución

  • Tenemos una solución no administrada en una organización de personalización, que es limpio y no contiene datos. El desarrollo se lleva a cabo a partir de esta organización . Tiene entidades, formularios, JScript, Vistas, Iconos, Roles, etc.
  • Esta base de datos de personalización tiene todas las soluciones que hemos importado de terceros, y las personalizaciones se realizan en nuestra solución, que es la importación final a un destino organización.
  • La solución se exporta como administrado y no administrado y se guarda en TFS
  • almacenamos la JScript y SSRS RDL en TFS y tienen una herramienta personalizada que desempeña éstos en la base de datos antes de que sea personalización exportado.
  • también tenemos una solución no administrada Mapa del Sitio que se exporta como no administrado (a asegurarnos de obtener un mapa del sitio final resultante estamos después)

despliegue

Hemos una interfaz de usuario y la línea de comandos herramienta accionada lo que hace lo siguiente: -

  • se dirige a una organización en particular
  • Importa la personalización solución administrada en un ambiente seleccionado. p.ej. PRUEBA. Además importa el Sitemap no administrado.
  • Desinstala la solución existente, que estaba allí (que se actualice el archivo solution.xml dándole un nombre basado en la fecha/hora en que se importa)
  • instala/desinstala el Código Plugin
  • instala los scripts de SQL (por RDL)
  • Rehabilita las Reglas de Detección Duplicadas
  • Reproduce ciertos metadatos que almacenamos bajo control de fuente. p.ej. Entidad de informe personalizado que creamos que tiene archivos adjuntos y configuración XML.

No es del todo perfecto, pero a través de la línea de comandos, actualizamos TEST y todas las PCs de desarrollo todas las noches. Lleva aproximadamente 1 hora instalar y luego desinstalar la solución anterior por organización.

Cuestiones relacionadas