SlideShare una empresa de Scribd logo
1 de 30
Miguel Angel Navarro Vera
Alberto Diaz Martin
Otro ALM es posible
para Dynamics 365
About the Speaker
• Miguel Angel Navarro Vera
• Cloud Solutions Developer en ENCAMINA
• Especialista en desarrollo con Dynamics
CRM, SharePoint y Azure
• @Min4ve
• https://www.linkedin.com/in/miguelangel
navarrovera/
• manavarro@encamina.com
About the Speaker
• Alberto Diaz Martin
• CTIO en ENCAMINA
• Microsoft Azure MVP
• @adiazcan
• https://www.linkedin.com/in/albertodiaz
martin/
• alberto.diaz@encamina.com
Development infrastructure building blocks
Every development team building applications needs a development and test
infrastructure to design, develop, test and deploy custom software.
Developer
workstation
Team collaboration
& developer services
Production
environments
Pre-production dev
and test environments
Software development project timeline
Start coding
Servers
delivered
IT builds Dev/Test
environments
Request Dev/Test
resources from IT
Project starts
Gather requirements
Prioritize work
IT kicks off
procurement Deployment
Performance
testing
Testing
Bug fixing
Production
Develop
Developer IDE
Team Collaboration Build+Test
Build/CI
Test
Deploy
Release/CD
Monitor+Learn
Monitor
On-Premises | Hybrid | Cloud
Microsoft
Tooling
A converged lifecycle
Ciclo de Vida
Ciclo de vida en una solución CRM
Definición de agente de compilación
DEV Branch SolutionBaseX
REMOTO
FETCH
PULL
BranchDesarrollador1 LOCAL
Nos traemos los ultimos cambios de la rama base
COMMIT
PUSH
Subimos nuestra rama combinada con los cambios
De la rama base a Visual Studio Online
Hacemos merge de estos cambios en nuestra rama localAplicamos todos los cambios de nuestra rama
PULLREQUEST
BranchDesarrollador1 REMOTA
Hacemos una peticion para incorporar nuestros
cambios a larama base
Integración continua DEV INTEGRACION PRE-PRODUCCION
PRODUCCION
FIXING
FORMACION
RELEASE MANAGEMENT
Cuando el responsable del
desarrollo decide que se han
completado todas las tareas
correspondientes al
desarrollo, lanzara un
compilacion de RELEASE.
Es un agente de compilacion
con unas reglas especiales,
que se lanzara en unas
condiciones determinadas.
En este caso manualmente, y
que desplegaran nuestra
solucion en diferentes
entornos, automaticamente,
siempre y cuando cumplan
todas las condiciones.
MANAGED
MANAGED
CI – RELEASE MANAGEMENT
DEV -> INTEGRACION
UNMANAGED
MANAGED
Aquí se copiaran los artifacts
donde se dejaran para el release
management.
UNMANAGED
UNMANAGED
MANAGED
Definición de agente de compilación
BRANCH FIX REMOTA
FETCH
PULL
BRANCH FIX LOCAL
Nos traemos los ultimos cambios de la rama base
COMMIT
PUSH
Subimos nuestra rama combinada con los cambios
De la rama base a Visual Studio Online
Hacemos merge de estos cambios en nuestra rama localAplicamos todos los cambios de nuestra rama
PULLREQUEST
BRANCHFIX REMOTA
Hacemos una peticion para incorporar nuestros
cambios a larama base
UNMANAGED
UNMANAGED
CI – RELEASE MANAGEMENT
INTEGRACION -> PRE
CI – RELEASE MANAGEMENT
PRE -> FIX
PRE -> FORMACION
PRE -> PRODUCCION
DEV Branch SolutionBaseX
REMOTO
FETCH
PULL
BranchDesarrollador1 LOCAL
Nos traemos los ultimos cambios de la rama base
COMMIT
PUSH
Subimos nuestra rama combinada con los cambios
De la rama base a Visual Studio Online
Hacemos merge de estos cambios en nuestra rama localAplicamos todos los cambios de nuestra rama
PULLREQUEST
BranchDesarrollador1 REMOTA
Hacemos una peticion para incorporar nuestros
cambios a larama base
Integración continua
REL
U
Desarrolllo
Definición de agente de compilación
DEV Branch SolutionBaseX
REMOTO
PULLREQUEST
Hacemos una peticion para incorporar nuestros
cambios a larama base
Integración continua DEV
Cuando el responsable del
desarrollo decide que se han
completado todas las tareas
correspondientes al
desarrollo, lanzara un
compilacion de RELEASE.
Es un agente de compilacion
con unas reglas especiales,
que se lanzara en unas
condiciones determinadas.
En este caso manualmente, y
que desplegaran nuestra
solucion en diferentes
entornos, automaticamente,
siempre y cuando cumplan
todas las condiciones.
CI
D
Aquí se copiaran los artifacts
donde se dejaran para el release
management.
UNMANAGED
Definición de agente de compilación
Integración
Continua
DEV INTEGRACION PRE-PRODUCCION
RELEASE MANAGEMENT
el
han
reas
.
cion
es,
as.
nte, y
a
M
MANAGED
CI – RELEASE MANAGEMENT
DEV -> INTEGRACION
UNMANAGED
MANAGED
UNMANAGED
UNMANAGED
MANAGED
Definición de agente de compilación
UNMANAGED
CI – RELEASE MANAGEMENT
INTEGRACION -> PRE
CI – RELEASE MANAGEMENT
PRE -> FIX
PRE -> FORMACION
PRE -> PRODUCCION
Entrega
DEV INTEGRACION PRE-PRODUCCION
PRODUCCION
FIXING
FORMACION
NAGEMENT
MANAGED
MANAGED
CI – RELEASE MANAGEMENT
DEV -> INTEGRACION
UNMANAGED
MANAGED
UNMANAGED
MANAGED
BRANCH FIX REMOTA
PULLREQUEST
Hacemos una peticion para incorporar nuestros
cambios a larama base
UNMANAGED
UNMANAGED
CI – RELEASE MANAGEMENT
INTEGRACION -> PRE
CI – RELEASE MANAGEMENT
PRE -> FIX
PRE -> FORMACION
PRE -> PRODUCCION
Entrega
FIXING
SE MANAGEMENT
BRANCH FIX REMOTA
FETCH
PULL
BRANCH FIX LOCAL
Nos traemos los ultimos cambios de la rama base
COMMIT
PUSH
Subimos nuestra rama combinada con los cambios
De la rama base a Visual Studio Online
Hacemos merge de estos cambios en nuestra rama localAplicamos todos los cambios de nuestra rama
PULLREQUEST
BRANCHFIX REMOTA
Hacemos una peticion para incorporar nuestros
cambios a larama base
UNMANAGED
UNMANAGED
CI – RELEASE MANAGEMENT
PRE -> FIX
PRE -> FORMACION
PRE -> PRODUCCION
Bug Fixing
DEV INTEGRACION PRE-PRODUCCION
PRODUCCION
FIXING
FORMACION
ANAGEMENT
MANAGED
MANAGED
CI – RELEASE MANAGEMENT
DEV -> INTEGRACION
UNMANAGED
MANAGED
UNMANAGED
MANAGED
BRANCH FIX REMOTA
PULLREQUEST
Hacemos una peticion para incorporar nuestros
cambios a larama base
UNMANAGED
UNMANAGED
CI – RELEASE MANAGEMENT
INTEGRACION -> PRE
CI – RELEASE MANAGEMENT
PRE -> FIX
PRE -> FORMACION
PRE -> PRODUCCION
Entrega
Entornos
DEV INTEGRACION PRE-PRODUCCION PRODUCCION
FIXING
FORMACION
CI – RELEASE MANAGEMENT
DEV -> INTEGRACION
CI – RELEASE MANAGEMENT
PRE -> FIX
PRE -> FORMACION
PRE -> PRODUCCION
CI – RELEASE MANAGEMENT
INTEGRACION-> PRE-PRODUCCION
UNMANAGED
MANAGED
UNMANAGED
MANAGED
UNMANAGED
MANAGED
MANAGED
CI – RELEASE MANAGEMENT
FIX -> DEV
DEVELOPER 1
DEVELOPER 2
DEVELOPER n
Modelo de desarrollo
Esquema
 Entidades
 Campos
 1: N/N: N
relaciones
 Option Sets
Plantillas
 Email
 Contratos
 Artículos KB
 Mail merges
Procesos /
Pasos / Código
 Workflows
 Diálogos
 Flujos de
proceso de
negocio
 Reglas de
negocio
 Acciones
 Recursos
Web
 Plugins (Dll’s)
 Mensajes SDK
Interfaz de
usuario
 Formularios
 Vistas
 Gráficos
 Paneles
 SiteMap
 Ribbons
Misc
 Roles de
seguridad
 Perfiles de
seguridad de
campo
 Roles de
conexión
 Informes
 Publicador de
la solución
 Configuración
del sistema
Visual Studio, our friend 
Demo
Instancia
DEV 1
Instancia
DEV 1
Instancia
DEV 1
2
1
Git flow
DEV Branch REMOTA
FETCH
PULL
Branch Dev 1 LOCAL
COMMIT
PUSH
PULLREQUEST
Branch Dev 1 REMOTA
CI
2
1
6
7
8
9
10
11
DEV Branch LOCAL
3
MERGE
4
5
Estrategia de Branching
Estrategia de Versionado
Demo
MASTER DEV LOCAL Branch Dev 2 LOCAL
Branch Dev 3 LOCAL
Branch Dev 1 LOCAL
Continuous Delivery (CD) – a DevOps practice
Issues
• Slow delivery cadence
• Limited predictability when deploying
• Complexity when deploying
Value
• Consistency
• Accelerated deployment
• Repeatability
• Human error reductionDEV
¿Por qué automatizar las entregas?
DEV Branch SolutionBaseX
REMOTO
DEV
INTEGRACION
PRE-PRODUCCION
PRODUCCION
FIXING
FORMACION
RELEASE MANAGEMENT
CI – RELEASE MANAGEMENT
DEV -> INTEGRACION
UNMANAGED
MANAGED
UNMANAGED
UNMANAGED
MANAGED
CI – RELEASE MANAGEMENT
PRE -> FIX
PRE -> FORMACION
PRE -> PRODUCCION
MANAGED
UNMANAGED
UNMANAGED
Demo
Recapitulando
• Visual Studio es nuestro amigo
• Ramas para control del código y de las Versiones
• Feature Branch
• Fix Branch
• Labels
• Deploy Branch
• Release Management para el despliegue
Dynamics 365 Community
The Dynamics 365 Community is a site where you can find community contributions, ask questions and
interact with Microsoft Dynamics peers and experts. The community has over 200K members and is
growing.
New UI/UX: https://community.dynamics365.com
¡Muchas gracias!

Más contenido relacionado

Similar a Dynamics saturday madrid 2018 - Otro alm es posible para dynamics 365

Raul Coria. IPM. Cómo optimizar su infraestructura virtual. Semanainformatica...
Raul Coria. IPM. Cómo optimizar su infraestructura virtual. Semanainformatica...Raul Coria. IPM. Cómo optimizar su infraestructura virtual. Semanainformatica...
Raul Coria. IPM. Cómo optimizar su infraestructura virtual. Semanainformatica...COIICV
 
Virtualization Day Argentina - App-V
Virtualization Day Argentina - App-VVirtualization Day Argentina - App-V
Virtualization Day Argentina - App-VMarcela Berri
 
DevOps en DEISER: En producción 10 veces más rápido con Atlassian
DevOps en DEISER: En producción 10 veces más rápido con AtlassianDevOps en DEISER: En producción 10 veces más rápido con Atlassian
DevOps en DEISER: En producción 10 veces más rápido con AtlassianDeiser
 
Fases del desarrollo de un WordPress a medida
Fases del desarrollo de un WordPress a medidaFases del desarrollo de un WordPress a medida
Fases del desarrollo de un WordPress a medidanoradriana.com
 
Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?Juan Carlos Gonzalez
 
enerminds - Brochure Utilities Plataforma Certa
enerminds - Brochure Utilities Plataforma Certaenerminds - Brochure Utilities Plataforma Certa
enerminds - Brochure Utilities Plataforma Certagmoyano
 
Tips en la instalación de Dynamics 365 Finance and Operations On Premise - LBD
Tips en la instalación de Dynamics 365 Finance and Operations On Premise - LBDTips en la instalación de Dynamics 365 Finance and Operations On Premise - LBD
Tips en la instalación de Dynamics 365 Finance and Operations On Premise - LBDJuan Fabian
 
Administración de Proyectos de Manufactura
Administración de Proyectos de ManufacturaAdministración de Proyectos de Manufactura
Administración de Proyectos de ManufacturaIntelligy
 
Ingenia's DevSecOps strategy
Ingenia's DevSecOps strategyIngenia's DevSecOps strategy
Ingenia's DevSecOps strategyr_ghio
 
Luis Manuel Rodriguez. EMC Base10. Proteja sus máquinas virtuales con Recover...
Luis Manuel Rodriguez. EMC Base10. Proteja sus máquinas virtuales con Recover...Luis Manuel Rodriguez. EMC Base10. Proteja sus máquinas virtuales con Recover...
Luis Manuel Rodriguez. EMC Base10. Proteja sus máquinas virtuales con Recover...COIICV
 
Presentación Fabio Schimidt - eCommerce Day Guayaquil 2014
Presentación Fabio Schimidt - eCommerce Day Guayaquil 2014Presentación Fabio Schimidt - eCommerce Day Guayaquil 2014
Presentación Fabio Schimidt - eCommerce Day Guayaquil 2014eCommerce Institute
 
Caminando hacia la agilidad con Visual Studio 2010
Caminando hacia la agilidad con Visual Studio 2010Caminando hacia la agilidad con Visual Studio 2010
Caminando hacia la agilidad con Visual Studio 2010Rodrigo Corral
 
Visual Studio 2017 Launch Event Sevilla
Visual Studio 2017 Launch Event SevillaVisual Studio 2017 Launch Event Sevilla
Visual Studio 2017 Launch Event SevillaJavier Suárez Ruiz
 
Tips en la instalación de Dynamics 365 FO - LBD, 365 Saturday
Tips en la instalación de Dynamics 365 FO - LBD, 365 SaturdayTips en la instalación de Dynamics 365 FO - LBD, 365 Saturday
Tips en la instalación de Dynamics 365 FO - LBD, 365 SaturdayJuan Fabian
 
24 HOP edición Español -Database Unit Testing -Carlos Lone
24 HOP edición Español -Database Unit Testing -Carlos Lone24 HOP edición Español -Database Unit Testing -Carlos Lone
24 HOP edición Español -Database Unit Testing -Carlos LoneSpanishPASSVC
 

Similar a Dynamics saturday madrid 2018 - Otro alm es posible para dynamics 365 (20)

Un "TFS" para gobernarlos a todos
Un "TFS" para gobernarlos a todosUn "TFS" para gobernarlos a todos
Un "TFS" para gobernarlos a todos
 
Raul Coria. IPM. Cómo optimizar su infraestructura virtual. Semanainformatica...
Raul Coria. IPM. Cómo optimizar su infraestructura virtual. Semanainformatica...Raul Coria. IPM. Cómo optimizar su infraestructura virtual. Semanainformatica...
Raul Coria. IPM. Cómo optimizar su infraestructura virtual. Semanainformatica...
 
Virtualization Day Argentina - App-V
Virtualization Day Argentina - App-VVirtualization Day Argentina - App-V
Virtualization Day Argentina - App-V
 
DevOps en DEISER: En producción 10 veces más rápido con Atlassian
DevOps en DEISER: En producción 10 veces más rápido con AtlassianDevOps en DEISER: En producción 10 veces más rápido con Atlassian
DevOps en DEISER: En producción 10 veces más rápido con Atlassian
 
Fases del desarrollo de un WordPress a medida
Fases del desarrollo de un WordPress a medidaFases del desarrollo de un WordPress a medida
Fases del desarrollo de un WordPress a medida
 
Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?
 
enerminds - Brochure Utilities Plataforma Certa
enerminds - Brochure Utilities Plataforma Certaenerminds - Brochure Utilities Plataforma Certa
enerminds - Brochure Utilities Plataforma Certa
 
Tips en la instalación de Dynamics 365 Finance and Operations On Premise - LBD
Tips en la instalación de Dynamics 365 Finance and Operations On Premise - LBDTips en la instalación de Dynamics 365 Finance and Operations On Premise - LBD
Tips en la instalación de Dynamics 365 Finance and Operations On Premise - LBD
 
Negociacion.pptx
Negociacion.pptxNegociacion.pptx
Negociacion.pptx
 
Administración de Proyectos de Manufactura
Administración de Proyectos de ManufacturaAdministración de Proyectos de Manufactura
Administración de Proyectos de Manufactura
 
Ingenia's DevSecOps strategy
Ingenia's DevSecOps strategyIngenia's DevSecOps strategy
Ingenia's DevSecOps strategy
 
Luis Manuel Rodriguez. EMC Base10. Proteja sus máquinas virtuales con Recover...
Luis Manuel Rodriguez. EMC Base10. Proteja sus máquinas virtuales con Recover...Luis Manuel Rodriguez. EMC Base10. Proteja sus máquinas virtuales con Recover...
Luis Manuel Rodriguez. EMC Base10. Proteja sus máquinas virtuales con Recover...
 
Presentación Fabio Schimidt - eCommerce Day Guayaquil 2014
Presentación Fabio Schimidt - eCommerce Day Guayaquil 2014Presentación Fabio Schimidt - eCommerce Day Guayaquil 2014
Presentación Fabio Schimidt - eCommerce Day Guayaquil 2014
 
Caminando hacia la agilidad con Visual Studio 2010
Caminando hacia la agilidad con Visual Studio 2010Caminando hacia la agilidad con Visual Studio 2010
Caminando hacia la agilidad con Visual Studio 2010
 
DevOps on AZURE
DevOps on AZUREDevOps on AZURE
DevOps on AZURE
 
Informe Control de Cambios Análisis BPM
Informe Control de Cambios Análisis BPMInforme Control de Cambios Análisis BPM
Informe Control de Cambios Análisis BPM
 
Visual Studio 2017 Launch Event Sevilla
Visual Studio 2017 Launch Event SevillaVisual Studio 2017 Launch Event Sevilla
Visual Studio 2017 Launch Event Sevilla
 
Tips en la instalación de Dynamics 365 FO - LBD, 365 Saturday
Tips en la instalación de Dynamics 365 FO - LBD, 365 SaturdayTips en la instalación de Dynamics 365 FO - LBD, 365 Saturday
Tips en la instalación de Dynamics 365 FO - LBD, 365 Saturday
 
24 HOP edición Español -Database Unit Testing -Carlos Lone
24 HOP edición Español -Database Unit Testing -Carlos Lone24 HOP edición Español -Database Unit Testing -Carlos Lone
24 HOP edición Español -Database Unit Testing -Carlos Lone
 
09 24 hopes_2014_carloslone
09 24 hopes_2014_carloslone09 24 hopes_2014_carloslone
09 24 hopes_2014_carloslone
 

Más de Alberto Diaz Martin

Microsoft 365 Virtual 2020 Spain - Microsoft Graph Search API
Microsoft 365 Virtual 2020 Spain - Microsoft Graph Search APIMicrosoft 365 Virtual 2020 Spain - Microsoft Graph Search API
Microsoft 365 Virtual 2020 Spain - Microsoft Graph Search APIAlberto Diaz Martin
 
DotNet Conf Valencia 2019 - Building cloud native apps with .NRT core 3.0 and...
DotNet Conf Valencia 2019 - Building cloud native apps with .NRT core 3.0 and...DotNet Conf Valencia 2019 - Building cloud native apps with .NRT core 3.0 and...
DotNet Conf Valencia 2019 - Building cloud native apps with .NRT core 3.0 and...Alberto Diaz Martin
 
GAB 2019 - Graph as a data store
GAB 2019 - Graph as a data storeGAB 2019 - Graph as a data store
GAB 2019 - Graph as a data storeAlberto Diaz Martin
 
DotNet Conf Madrid 2019 - Whats New in ML.NET
DotNet Conf Madrid 2019 - Whats New in ML.NETDotNet Conf Madrid 2019 - Whats New in ML.NET
DotNet Conf Madrid 2019 - Whats New in ML.NETAlberto Diaz Martin
 
DotNet Conf Madrid 2019 - ASP.NET Core 3
DotNet Conf Madrid 2019 - ASP.NET Core 3DotNet Conf Madrid 2019 - ASP.NET Core 3
DotNet Conf Madrid 2019 - ASP.NET Core 3Alberto Diaz Martin
 
SQL Saturday Madrid 2019 - Data model with Azure Cosmos DB
SQL Saturday Madrid 2019 - Data model with Azure Cosmos DBSQL Saturday Madrid 2019 - Data model with Azure Cosmos DB
SQL Saturday Madrid 2019 - Data model with Azure Cosmos DBAlberto Diaz Martin
 
SharePoint Saturday Madrid 2019 - Productivity based on AI
SharePoint Saturday Madrid 2019 - Productivity based on AISharePoint Saturday Madrid 2019 - Productivity based on AI
SharePoint Saturday Madrid 2019 - Productivity based on AIAlberto Diaz Martin
 
Dynamics Saturday Madrid 2019 - AI to improve productivity
Dynamics Saturday Madrid 2019 - AI to improve productivityDynamics Saturday Madrid 2019 - AI to improve productivity
Dynamics Saturday Madrid 2019 - AI to improve productivityAlberto Diaz Martin
 
TenerifeDev - NLPs and how to develop for Alexa and Google Assistant
TenerifeDev - NLPs and how to develop for Alexa and Google AssistantTenerifeDev - NLPs and how to develop for Alexa and Google Assistant
TenerifeDev - NLPs and how to develop for Alexa and Google AssistantAlberto Diaz Martin
 
NetCoreConf Barcelona 2019 - DotNet Assistants
NetCoreConf Barcelona 2019 - DotNet AssistantsNetCoreConf Barcelona 2019 - DotNet Assistants
NetCoreConf Barcelona 2019 - DotNet AssistantsAlberto Diaz Martin
 
Global Integration Bootcamp 2018 - Gobierno de APIs
Global Integration Bootcamp 2018 - Gobierno de APIsGlobal Integration Bootcamp 2018 - Gobierno de APIs
Global Integration Bootcamp 2018 - Gobierno de APIsAlberto Diaz Martin
 
Gab 2018 seguridad y escalado en azure service fabric
Gab 2018   seguridad y escalado en azure service fabricGab 2018   seguridad y escalado en azure service fabric
Gab 2018 seguridad y escalado en azure service fabricAlberto Diaz Martin
 
CrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NETCrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NETAlberto Diaz Martin
 
Dynamics 365 Saturday Madrid 2018 - Otro ALM es posible para Dynamics 365
Dynamics 365 Saturday Madrid 2018 - Otro ALM es posible para Dynamics 365Dynamics 365 Saturday Madrid 2018 - Otro ALM es posible para Dynamics 365
Dynamics 365 Saturday Madrid 2018 - Otro ALM es posible para Dynamics 365Alberto Diaz Martin
 
Azure4Research - Big Data Analytics con Hadoop, Spark y Power BI
Azure4Research - Big Data Analytics con Hadoop, Spark y Power BIAzure4Research - Big Data Analytics con Hadoop, Spark y Power BI
Azure4Research - Big Data Analytics con Hadoop, Spark y Power BIAlberto Diaz Martin
 
ENCAMINA - El flash de Inteligencia Artificial
ENCAMINA - El flash de Inteligencia ArtificialENCAMINA - El flash de Inteligencia Artificial
ENCAMINA - El flash de Inteligencia ArtificialAlberto Diaz Martin
 
Ai & Data Analytics 2018 - Azure Databricks for data scientist
Ai & Data Analytics 2018 - Azure Databricks for data scientistAi & Data Analytics 2018 - Azure Databricks for data scientist
Ai & Data Analytics 2018 - Azure Databricks for data scientistAlberto Diaz Martin
 
Global AI Bootcamp Madrid - Azure Databricks
Global AI Bootcamp Madrid - Azure DatabricksGlobal AI Bootcamp Madrid - Azure Databricks
Global AI Bootcamp Madrid - Azure DatabricksAlberto Diaz Martin
 
TenerifeDev - Intro to Microservices
TenerifeDev - Intro to MicroservicesTenerifeDev - Intro to Microservices
TenerifeDev - Intro to MicroservicesAlberto Diaz Martin
 
TenerifeDev - Azure Service Fabric
TenerifeDev - Azure Service FabricTenerifeDev - Azure Service Fabric
TenerifeDev - Azure Service FabricAlberto Diaz Martin
 

Más de Alberto Diaz Martin (20)

Microsoft 365 Virtual 2020 Spain - Microsoft Graph Search API
Microsoft 365 Virtual 2020 Spain - Microsoft Graph Search APIMicrosoft 365 Virtual 2020 Spain - Microsoft Graph Search API
Microsoft 365 Virtual 2020 Spain - Microsoft Graph Search API
 
DotNet Conf Valencia 2019 - Building cloud native apps with .NRT core 3.0 and...
DotNet Conf Valencia 2019 - Building cloud native apps with .NRT core 3.0 and...DotNet Conf Valencia 2019 - Building cloud native apps with .NRT core 3.0 and...
DotNet Conf Valencia 2019 - Building cloud native apps with .NRT core 3.0 and...
 
GAB 2019 - Graph as a data store
GAB 2019 - Graph as a data storeGAB 2019 - Graph as a data store
GAB 2019 - Graph as a data store
 
DotNet Conf Madrid 2019 - Whats New in ML.NET
DotNet Conf Madrid 2019 - Whats New in ML.NETDotNet Conf Madrid 2019 - Whats New in ML.NET
DotNet Conf Madrid 2019 - Whats New in ML.NET
 
DotNet Conf Madrid 2019 - ASP.NET Core 3
DotNet Conf Madrid 2019 - ASP.NET Core 3DotNet Conf Madrid 2019 - ASP.NET Core 3
DotNet Conf Madrid 2019 - ASP.NET Core 3
 
SQL Saturday Madrid 2019 - Data model with Azure Cosmos DB
SQL Saturday Madrid 2019 - Data model with Azure Cosmos DBSQL Saturday Madrid 2019 - Data model with Azure Cosmos DB
SQL Saturday Madrid 2019 - Data model with Azure Cosmos DB
 
SharePoint Saturday Madrid 2019 - Productivity based on AI
SharePoint Saturday Madrid 2019 - Productivity based on AISharePoint Saturday Madrid 2019 - Productivity based on AI
SharePoint Saturday Madrid 2019 - Productivity based on AI
 
Dynamics Saturday Madrid 2019 - AI to improve productivity
Dynamics Saturday Madrid 2019 - AI to improve productivityDynamics Saturday Madrid 2019 - AI to improve productivity
Dynamics Saturday Madrid 2019 - AI to improve productivity
 
TenerifeDev - NLPs and how to develop for Alexa and Google Assistant
TenerifeDev - NLPs and how to develop for Alexa and Google AssistantTenerifeDev - NLPs and how to develop for Alexa and Google Assistant
TenerifeDev - NLPs and how to develop for Alexa and Google Assistant
 
NetCoreConf Barcelona 2019 - DotNet Assistants
NetCoreConf Barcelona 2019 - DotNet AssistantsNetCoreConf Barcelona 2019 - DotNet Assistants
NetCoreConf Barcelona 2019 - DotNet Assistants
 
Global Integration Bootcamp 2018 - Gobierno de APIs
Global Integration Bootcamp 2018 - Gobierno de APIsGlobal Integration Bootcamp 2018 - Gobierno de APIs
Global Integration Bootcamp 2018 - Gobierno de APIs
 
Gab 2018 seguridad y escalado en azure service fabric
Gab 2018   seguridad y escalado en azure service fabricGab 2018   seguridad y escalado en azure service fabric
Gab 2018 seguridad y escalado en azure service fabric
 
CrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NETCrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NET
 
Dynamics 365 Saturday Madrid 2018 - Otro ALM es posible para Dynamics 365
Dynamics 365 Saturday Madrid 2018 - Otro ALM es posible para Dynamics 365Dynamics 365 Saturday Madrid 2018 - Otro ALM es posible para Dynamics 365
Dynamics 365 Saturday Madrid 2018 - Otro ALM es posible para Dynamics 365
 
Azure4Research - Big Data Analytics con Hadoop, Spark y Power BI
Azure4Research - Big Data Analytics con Hadoop, Spark y Power BIAzure4Research - Big Data Analytics con Hadoop, Spark y Power BI
Azure4Research - Big Data Analytics con Hadoop, Spark y Power BI
 
ENCAMINA - El flash de Inteligencia Artificial
ENCAMINA - El flash de Inteligencia ArtificialENCAMINA - El flash de Inteligencia Artificial
ENCAMINA - El flash de Inteligencia Artificial
 
Ai & Data Analytics 2018 - Azure Databricks for data scientist
Ai & Data Analytics 2018 - Azure Databricks for data scientistAi & Data Analytics 2018 - Azure Databricks for data scientist
Ai & Data Analytics 2018 - Azure Databricks for data scientist
 
Global AI Bootcamp Madrid - Azure Databricks
Global AI Bootcamp Madrid - Azure DatabricksGlobal AI Bootcamp Madrid - Azure Databricks
Global AI Bootcamp Madrid - Azure Databricks
 
TenerifeDev - Intro to Microservices
TenerifeDev - Intro to MicroservicesTenerifeDev - Intro to Microservices
TenerifeDev - Intro to Microservices
 
TenerifeDev - Azure Service Fabric
TenerifeDev - Azure Service FabricTenerifeDev - Azure Service Fabric
TenerifeDev - Azure Service Fabric
 

Último

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 

Último (13)

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 

Dynamics saturday madrid 2018 - Otro alm es posible para dynamics 365

  • 1. Miguel Angel Navarro Vera Alberto Diaz Martin Otro ALM es posible para Dynamics 365
  • 2.
  • 3. About the Speaker • Miguel Angel Navarro Vera • Cloud Solutions Developer en ENCAMINA • Especialista en desarrollo con Dynamics CRM, SharePoint y Azure • @Min4ve • https://www.linkedin.com/in/miguelangel navarrovera/ • manavarro@encamina.com
  • 4. About the Speaker • Alberto Diaz Martin • CTIO en ENCAMINA • Microsoft Azure MVP • @adiazcan • https://www.linkedin.com/in/albertodiaz martin/ • alberto.diaz@encamina.com
  • 5. Development infrastructure building blocks Every development team building applications needs a development and test infrastructure to design, develop, test and deploy custom software. Developer workstation Team collaboration & developer services Production environments Pre-production dev and test environments
  • 6. Software development project timeline Start coding Servers delivered IT builds Dev/Test environments Request Dev/Test resources from IT Project starts Gather requirements Prioritize work IT kicks off procurement Deployment Performance testing Testing Bug fixing Production
  • 7. Develop Developer IDE Team Collaboration Build+Test Build/CI Test Deploy Release/CD Monitor+Learn Monitor On-Premises | Hybrid | Cloud Microsoft Tooling
  • 10. Ciclo de vida en una solución CRM Definición de agente de compilación DEV Branch SolutionBaseX REMOTO FETCH PULL BranchDesarrollador1 LOCAL Nos traemos los ultimos cambios de la rama base COMMIT PUSH Subimos nuestra rama combinada con los cambios De la rama base a Visual Studio Online Hacemos merge de estos cambios en nuestra rama localAplicamos todos los cambios de nuestra rama PULLREQUEST BranchDesarrollador1 REMOTA Hacemos una peticion para incorporar nuestros cambios a larama base Integración continua DEV INTEGRACION PRE-PRODUCCION PRODUCCION FIXING FORMACION RELEASE MANAGEMENT Cuando el responsable del desarrollo decide que se han completado todas las tareas correspondientes al desarrollo, lanzara un compilacion de RELEASE. Es un agente de compilacion con unas reglas especiales, que se lanzara en unas condiciones determinadas. En este caso manualmente, y que desplegaran nuestra solucion en diferentes entornos, automaticamente, siempre y cuando cumplan todas las condiciones. MANAGED MANAGED CI – RELEASE MANAGEMENT DEV -> INTEGRACION UNMANAGED MANAGED Aquí se copiaran los artifacts donde se dejaran para el release management. UNMANAGED UNMANAGED MANAGED Definición de agente de compilación BRANCH FIX REMOTA FETCH PULL BRANCH FIX LOCAL Nos traemos los ultimos cambios de la rama base COMMIT PUSH Subimos nuestra rama combinada con los cambios De la rama base a Visual Studio Online Hacemos merge de estos cambios en nuestra rama localAplicamos todos los cambios de nuestra rama PULLREQUEST BRANCHFIX REMOTA Hacemos una peticion para incorporar nuestros cambios a larama base UNMANAGED UNMANAGED CI – RELEASE MANAGEMENT INTEGRACION -> PRE CI – RELEASE MANAGEMENT PRE -> FIX PRE -> FORMACION PRE -> PRODUCCION
  • 11. DEV Branch SolutionBaseX REMOTO FETCH PULL BranchDesarrollador1 LOCAL Nos traemos los ultimos cambios de la rama base COMMIT PUSH Subimos nuestra rama combinada con los cambios De la rama base a Visual Studio Online Hacemos merge de estos cambios en nuestra rama localAplicamos todos los cambios de nuestra rama PULLREQUEST BranchDesarrollador1 REMOTA Hacemos una peticion para incorporar nuestros cambios a larama base Integración continua REL U Desarrolllo
  • 12. Definición de agente de compilación DEV Branch SolutionBaseX REMOTO PULLREQUEST Hacemos una peticion para incorporar nuestros cambios a larama base Integración continua DEV Cuando el responsable del desarrollo decide que se han completado todas las tareas correspondientes al desarrollo, lanzara un compilacion de RELEASE. Es un agente de compilacion con unas reglas especiales, que se lanzara en unas condiciones determinadas. En este caso manualmente, y que desplegaran nuestra solucion en diferentes entornos, automaticamente, siempre y cuando cumplan todas las condiciones. CI D Aquí se copiaran los artifacts donde se dejaran para el release management. UNMANAGED Definición de agente de compilación Integración Continua
  • 13. DEV INTEGRACION PRE-PRODUCCION RELEASE MANAGEMENT el han reas . cion es, as. nte, y a M MANAGED CI – RELEASE MANAGEMENT DEV -> INTEGRACION UNMANAGED MANAGED UNMANAGED UNMANAGED MANAGED Definición de agente de compilación UNMANAGED CI – RELEASE MANAGEMENT INTEGRACION -> PRE CI – RELEASE MANAGEMENT PRE -> FIX PRE -> FORMACION PRE -> PRODUCCION Entrega
  • 14. DEV INTEGRACION PRE-PRODUCCION PRODUCCION FIXING FORMACION NAGEMENT MANAGED MANAGED CI – RELEASE MANAGEMENT DEV -> INTEGRACION UNMANAGED MANAGED UNMANAGED MANAGED BRANCH FIX REMOTA PULLREQUEST Hacemos una peticion para incorporar nuestros cambios a larama base UNMANAGED UNMANAGED CI – RELEASE MANAGEMENT INTEGRACION -> PRE CI – RELEASE MANAGEMENT PRE -> FIX PRE -> FORMACION PRE -> PRODUCCION Entrega
  • 15. FIXING SE MANAGEMENT BRANCH FIX REMOTA FETCH PULL BRANCH FIX LOCAL Nos traemos los ultimos cambios de la rama base COMMIT PUSH Subimos nuestra rama combinada con los cambios De la rama base a Visual Studio Online Hacemos merge de estos cambios en nuestra rama localAplicamos todos los cambios de nuestra rama PULLREQUEST BRANCHFIX REMOTA Hacemos una peticion para incorporar nuestros cambios a larama base UNMANAGED UNMANAGED CI – RELEASE MANAGEMENT PRE -> FIX PRE -> FORMACION PRE -> PRODUCCION Bug Fixing
  • 16. DEV INTEGRACION PRE-PRODUCCION PRODUCCION FIXING FORMACION ANAGEMENT MANAGED MANAGED CI – RELEASE MANAGEMENT DEV -> INTEGRACION UNMANAGED MANAGED UNMANAGED MANAGED BRANCH FIX REMOTA PULLREQUEST Hacemos una peticion para incorporar nuestros cambios a larama base UNMANAGED UNMANAGED CI – RELEASE MANAGEMENT INTEGRACION -> PRE CI – RELEASE MANAGEMENT PRE -> FIX PRE -> FORMACION PRE -> PRODUCCION Entrega
  • 17. Entornos DEV INTEGRACION PRE-PRODUCCION PRODUCCION FIXING FORMACION CI – RELEASE MANAGEMENT DEV -> INTEGRACION CI – RELEASE MANAGEMENT PRE -> FIX PRE -> FORMACION PRE -> PRODUCCION CI – RELEASE MANAGEMENT INTEGRACION-> PRE-PRODUCCION UNMANAGED MANAGED UNMANAGED MANAGED UNMANAGED MANAGED MANAGED CI – RELEASE MANAGEMENT FIX -> DEV DEVELOPER 1 DEVELOPER 2 DEVELOPER n
  • 18. Modelo de desarrollo Esquema  Entidades  Campos  1: N/N: N relaciones  Option Sets Plantillas  Email  Contratos  Artículos KB  Mail merges Procesos / Pasos / Código  Workflows  Diálogos  Flujos de proceso de negocio  Reglas de negocio  Acciones  Recursos Web  Plugins (Dll’s)  Mensajes SDK Interfaz de usuario  Formularios  Vistas  Gráficos  Paneles  SiteMap  Ribbons Misc  Roles de seguridad  Perfiles de seguridad de campo  Roles de conexión  Informes  Publicador de la solución  Configuración del sistema
  • 19. Visual Studio, our friend 
  • 21. Git flow DEV Branch REMOTA FETCH PULL Branch Dev 1 LOCAL COMMIT PUSH PULLREQUEST Branch Dev 1 REMOTA CI 2 1 6 7 8 9 10 11 DEV Branch LOCAL 3 MERGE 4 5
  • 24. Demo MASTER DEV LOCAL Branch Dev 2 LOCAL Branch Dev 3 LOCAL Branch Dev 1 LOCAL
  • 25. Continuous Delivery (CD) – a DevOps practice Issues • Slow delivery cadence • Limited predictability when deploying • Complexity when deploying Value • Consistency • Accelerated deployment • Repeatability • Human error reductionDEV
  • 26. ¿Por qué automatizar las entregas? DEV Branch SolutionBaseX REMOTO DEV INTEGRACION PRE-PRODUCCION PRODUCCION FIXING FORMACION RELEASE MANAGEMENT CI – RELEASE MANAGEMENT DEV -> INTEGRACION UNMANAGED MANAGED UNMANAGED UNMANAGED MANAGED CI – RELEASE MANAGEMENT PRE -> FIX PRE -> FORMACION PRE -> PRODUCCION MANAGED UNMANAGED UNMANAGED
  • 27. Demo
  • 28. Recapitulando • Visual Studio es nuestro amigo • Ramas para control del código y de las Versiones • Feature Branch • Fix Branch • Labels • Deploy Branch • Release Management para el despliegue
  • 29. Dynamics 365 Community The Dynamics 365 Community is a site where you can find community contributions, ask questions and interact with Microsoft Dynamics peers and experts. The community has over 200K members and is growing. New UI/UX: https://community.dynamics365.com

Notas del editor

  1. Enseñar la solución en CRM con la entidad Crear la solución de Visual Studio con la estructura vacía (en teoría la abrimos para no perder el tiempo) Descargar la solución desde el CRM Abrimos una solución ya descargada para no esperar Enseñar como está estructurado el Proyecto Creo un nuevo JS en VS Registramos el JS desde Visual Studio Creo un Pluging desde VS Registro con el PowerShell Descargamos la solución Hacemos las modificaciones necesarias en el JS Hacemos la modificación en el pluging Desplegamos la solución y probamos
  2. Enseñar la solución en CRM con la entidad Crear la solución de Visual Studio con la estructura vacía (en teoría la abrimos para no perder el tiempo) Descargar la solución desde el CRM Abrimos una solución ya descargada para no esperar Enseñar como está estructurado el Proyecto Creo un nuevo JS en VS Registramos el JS desde Visual Studio Creo un Pluging desde VS Registro con el PowerShell Descargamos la solución Hacemos las modificaciones necesarias en el JS Hacemos la modificación en el pluging Desplegamos la solución y probamos
  3. Enseñar la solución en CRM con la entidad Crear la solución de Visual Studio con la estructura vacía (en teoría la abrimos para no perder el tiempo) Descargar la solución desde el CRM Abrimos una solución ya descargada para no esperar Enseñar como está estructurado el Proyecto Creo un nuevo JS en VS Registramos el JS desde Visual Studio Creo un Pluging desde VS Registro con el PowerShell Descargamos la solución Hacemos las modificaciones necesarias en el JS Hacemos la modificación en el pluging Desplegamos la solución y probamos