Junio 2020
Despliegue continuo
en DevOps para
múltiples entornos de
Dync 365
• Marlon Hernández
Marlon Hernandez Triveño
• Consultor Dynamics 365 en Innovar Tecnologías
• mhernandez@innovartecnologias.com
• https://www.linkedin.com/in/marlonht/
Agenda
• ¿Por qué debería implementar un despliegue continuo?
• ¿Qué es el patrón DevOps?
• Modelo de Integración continua en DevOps
• Modelo de Despliegue continuo en DevOps
• Requisitos iniciales
• Demo de Modelo de Despliegue en multi entornos
• Exporte automáticamente soluciones de un entorno Dync 365
• Almacenamiento de la solución en Repositorio en DevOps
• Importación y publicación de la solución en los entornos.
• Comentarios y recomendaciones
¿Por qué debería implementar un
despliegue continuo?
Patrón DevOps
Team
Developer CRM
Code Build Deploy
Team Operations
Enviromeent
Azure
User
Build and release pipeline
Stage
Modelo de Integración continua
en DevOps
Team
Developer CRM
Team
Customizer CRM
Virtual Saturday
Rama Prod
Solution
Develop Test
Environment: DEV
Modelo 1: de Despliegue continuo
en DevOps
Virtual Saturday
Rama ProdSolution
Team Operations
Environment: UAT
Pipeline Automation
Environment: PRE
Environment: PRO
S
t
a
g
e
s
Modelo 2: de Despliegue continuo
en DevOps
Virtual Saturday
Rama Prod
Solution
Deploy
Team Operations
Environment: UAT
Pipeline Automation
Environment: PRE
Environment: PRO
S
t
a
g
e
sCurrent
SolutionTeam
Customizer CRM
Modelo 1 vs Modelo 2
Característica Modelo 1 Modelo 2
Tamaño de solución Alto: Creciente con cada despliegue
y difícil de desplegar en el futuro.
Medio: Controlado por que se crea
una solución dividida por
periodos.
Rápido para
configurar
Si: Porque solo se deben verificar
dependencias
No: Requiere una persona que
coordine para agrupar los
componentes listos para desplegar
Rollback Si: Pero es muy complejo regresar
varias versiones anteriores ya que
las soluciones son incrementales
Si: Ya que permite desplegar por
Patch.
Facilidad en el
Manejo de Fixes
Fácil: Solo se despliega una solución
incremental
Medio: Se tiene que acoplar la
solución de Fix manualmente
después de hacer el despliegue.
Valido para implementaciones
pequeñas
Valido para implementaciones
medianas o grandes.
Requisitos iniciales:
1. Tenemos que tener un entorno de Dynamics 365
i. Creamos un entorno demo:
ii. https://trials.dynamics.com/
2. Tener Git para visual studio
i. Instalar la versión de git que corresponda con su visual
ii. https://visualstudio.github.com/
3. Tenemos que tener una cuenta de Azure DevOps
i. Iniciamos sesión con una cuenta de Microsoft o GitHub:
ii. https://azure.microsoft.com/es-es/services/devops/
Configuración de seguridad:
1. El servicio de compilación debe poder acceder al
repositorio:
Configuración de seguridad:
DEMO
Comentarios y Recomendaciones
• Creo que ningún proyecto es demasiado pequeño
como para no contar con un proceso de control de
código fuente.
• Mi planteamiento de modelos de despliegue fueron
hechos con fines prácticos y están basados en la
experiencia de proyectos. Por favor solo tomarlo como
referencia.
¡Muchas gracias!

Despliegue continuo en dev ops para multiples entornos de dync 365

  • 1.
    Junio 2020 Despliegue continuo enDevOps para múltiples entornos de Dync 365 • Marlon Hernández
  • 3.
    Marlon Hernandez Triveño •Consultor Dynamics 365 en Innovar Tecnologías • mhernandez@innovartecnologias.com • https://www.linkedin.com/in/marlonht/
  • 4.
    Agenda • ¿Por quédebería implementar un despliegue continuo? • ¿Qué es el patrón DevOps? • Modelo de Integración continua en DevOps • Modelo de Despliegue continuo en DevOps • Requisitos iniciales • Demo de Modelo de Despliegue en multi entornos • Exporte automáticamente soluciones de un entorno Dync 365 • Almacenamiento de la solución en Repositorio en DevOps • Importación y publicación de la solución en los entornos. • Comentarios y recomendaciones
  • 5.
    ¿Por qué deberíaimplementar un despliegue continuo?
  • 6.
    Patrón DevOps Team Developer CRM CodeBuild Deploy Team Operations Enviromeent Azure User Build and release pipeline Stage
  • 7.
    Modelo de Integracióncontinua en DevOps Team Developer CRM Team Customizer CRM Virtual Saturday Rama Prod Solution Develop Test Environment: DEV
  • 8.
    Modelo 1: deDespliegue continuo en DevOps Virtual Saturday Rama ProdSolution Team Operations Environment: UAT Pipeline Automation Environment: PRE Environment: PRO S t a g e s
  • 9.
    Modelo 2: deDespliegue continuo en DevOps Virtual Saturday Rama Prod Solution Deploy Team Operations Environment: UAT Pipeline Automation Environment: PRE Environment: PRO S t a g e sCurrent SolutionTeam Customizer CRM
  • 10.
    Modelo 1 vsModelo 2 Característica Modelo 1 Modelo 2 Tamaño de solución Alto: Creciente con cada despliegue y difícil de desplegar en el futuro. Medio: Controlado por que se crea una solución dividida por periodos. Rápido para configurar Si: Porque solo se deben verificar dependencias No: Requiere una persona que coordine para agrupar los componentes listos para desplegar Rollback Si: Pero es muy complejo regresar varias versiones anteriores ya que las soluciones son incrementales Si: Ya que permite desplegar por Patch. Facilidad en el Manejo de Fixes Fácil: Solo se despliega una solución incremental Medio: Se tiene que acoplar la solución de Fix manualmente después de hacer el despliegue. Valido para implementaciones pequeñas Valido para implementaciones medianas o grandes.
  • 11.
    Requisitos iniciales: 1. Tenemosque tener un entorno de Dynamics 365 i. Creamos un entorno demo: ii. https://trials.dynamics.com/ 2. Tener Git para visual studio i. Instalar la versión de git que corresponda con su visual ii. https://visualstudio.github.com/ 3. Tenemos que tener una cuenta de Azure DevOps i. Iniciamos sesión con una cuenta de Microsoft o GitHub: ii. https://azure.microsoft.com/es-es/services/devops/
  • 12.
    Configuración de seguridad: 1.El servicio de compilación debe poder acceder al repositorio:
  • 13.
  • 14.
  • 15.
    Comentarios y Recomendaciones •Creo que ningún proyecto es demasiado pequeño como para no contar con un proceso de control de código fuente. • Mi planteamiento de modelos de despliegue fueron hechos con fines prácticos y están basados en la experiencia de proyectos. Por favor solo tomarlo como referencia.
  • 20.