SlideShare una empresa de Scribd logo
Integración y Entrega Continua con Visual Studio Online
Integración y
Entrega
Continua con
Visual Studio
Online
Ernesto Cárdenas Cangahuala
Senior Software Engineer|
Avantica Technologies
@fisica3
Presentación
Erase una vez… un desarrollador
En la Universidad
• !En mi casa compilaba!
• ¿Qué has hecho ayer en todo el día?
• …¡Subir el proyecto a preproducción!
Durante el Desarrollo
• ¡La web de producción esta
grabando en la BD de
preproducción!
• Este… ayer subí la
corrección de un bug….
• ¡Además ahora las formulas
dan valores incorrectos!
… Mantenimiento
¡Busquemos una salida!
Integración Continua
• Martin Fowler:“La integración continua es una práctica
de desarrollo de software en la cuál los miembros de un
equipo integran su trabajo frecuentemente, como
mínimo de forma diaria. Cada integración se verifica
mediante una herramienta de construcción automática
para detectar los errores de integración tan pronto como
sea posible.”
¿Qué perseguimos con la CI?
• Tener un proyecto “sano y funcionando” siempre
• Mayor confianza del equipo y de los stakeholders
¿Y si damos un paso mas?
•Valor es Software
funcionando en
manos del usuario
¿verdad?
•Entonces nuestro
siguiente objetivo es
la Entrega Continua
¿Qué lograremos con todo eso?
• Tener un proyecto “sano y funcionando” siempre
• Mayor confianza del equipo y de los stakeholders
• No dedicar tiempo excesivo a la integración y despliegue
• Mayor visibilidad y feedback continuo (QA) -> menos
riesgos
Primero veamos los pilares
Versionado
Automatización
• Mantener un único repositorio de código fuente
• Automatizar la construcción, validación y
despliegue del proyecto de manera rápida (¡un
clic!)
• Que sea fácil probar la ultima versión en una
replica del entorno de producción
• Publicar qué está pasando (alertas!!!)
Practicas para el día a día
Ok, ¿cómo lo logramos?
Empecemos con
una visión inicial
Aterrizando la teoría
Team Foundation Build
• Considerado parte del núcleo de la plataforma TFS/VSO
• Los miembros del equipo pueden ser notificados del
estado de la build, para prevenir checkin que no sean
correctivos
• MSBuild hace el “building”, Windows Workflow hace la
orquestación
• Extensible: Soporte Java, Maven, Ant vía TFS Build
Extensions
Arquitectura de Team Foundation Build
Application
Tier
Build
Controller
Build
Agent
Drop
Server
Build
Esto, traducido a VSO/Azure…
• Controlado por un archivo XAML Windows
Workflow 4.0
• Tres plantillas de proceso “out-of-the-box”
• DefaultTemplate (ahora con versión Git!)
• Almacenado en TFS
• Se pueden crear plantillas de build
personalizadas
Team Build Process
Demo
Principios para el desarrollador
• Diseña características apagables!!
• Contribuye a menudo (código sano!)
• Soluciona los build rotos inmediatamente
• Escribe tests automáticos
• Todos los tests deben pasar
Llegados a este punto…
• ¿Cuanto le tomaría a tu
organización desplegar un
cambio que involucre tan
solo una línea de código?
• ¿Lo haces de una manera
confiable y reproducible?
Mary & Tom Poppendieck
Todo eso esta muy pero…
• Yo tengo que desplegar en
local!
Entonces… otro escenario
Ingredientes
• TFS Controller/Agent 2013
• Publish Profiles
• .config Transformations
• MS Web Deploy
Mejor veamoslo en acción
Reforzando el factor humano
• Establecer políticas de contribución, ramificación y Code
Review
• Configurar bien las alertas
• Detenerse cuando la Build se cae
• Si se cae la Build no es el fin del mundo
• Antes de hacer commit, Get latest versión y probar en local
• Probar en ambiente de Integración
• Validar siempre la actualización del Modelo de BD
• Considerar CodeAnalysis, StyleCop y opcionalmente
convertir warning en errors
Caso real
• DEV1: Solo compila y corre tests, ejecutada
automáticamente
• DEV2: DEV1+Despliegue en DEV, cada hora (si hay
cambios)
• QA: DEV1 + Despliegue en QA, cada 6 horas
• Staging: DEV1 + Empaquetado automatico para
despliegue manual, bajo demanda
¡Cada una con sus propias configuraciones!
Enlaces útiles
• El Bruno
• Jersson on the Block!
• SedoDream
• How to install Web Deploy on Windows Server 2012
• Consultor Internet
¿Preguntas?
Integración y Entrega Continua con Visual Studio Online

Más contenido relacionado

PPTX
Gestión Agil de Entornos de Despliegue en la Nube
PPTX
Humanizacion de java script con typescript para d365
PPTX
Integración Continua usando Team Foundation Server
PPTX
Victor sanchez saturdaymadrid2020
PPT
Introducción a Team Foundation Service, ALM en la Nube
PPTX
Dev ops e infraestructura – acompañando nuestro software a producción
PDF
Continuous Delivery Un caso de estudio
PDF
Gestión Agil de Entornos de Despliegue en la Nube
Humanizacion de java script con typescript para d365
Integración Continua usando Team Foundation Server
Victor sanchez saturdaymadrid2020
Introducción a Team Foundation Service, ALM en la Nube
Dev ops e infraestructura – acompañando nuestro software a producción
Continuous Delivery Un caso de estudio

La actualidad más candente (20)

PPTX
DotNet 2019 | Luis Fraile - Tests de integración con .NET Core, Docker y Azur...
PDF
Integración Continua
PPTX
ALM con Visual Studio y TFS 2013
PDF
Integración Continua con Team Foundation Server
PDF
Probando aplicaciones AngularJS
PDF
Integración contínua con Jenkins
PPTX
Integracion Continua
PPTX
Desarrollo de Aplicaciones Metro en Windows 8
PPT
Integracion continua
PDF
DEISER expoQA 2017
PDF
Flujos de trabajo para un desarrollador web frontend
PPTX
Jenkins ci + selenium
PPTX
.NET Core
PPTX
Yo soy Dev, yo soy Ops y somos dos en un equipo
PDF
Argentesting 2017 - Taller de Jenkins
PPTX
Introducción a WPF
PDF
Sácale todo el provecho a Stylus el mejor pre procesador de CSS
PPT
Presentacion de integracion continua (lima agile)
ODP
Presentacion de Integración Continua
DotNet 2019 | Luis Fraile - Tests de integración con .NET Core, Docker y Azur...
Integración Continua
ALM con Visual Studio y TFS 2013
Integración Continua con Team Foundation Server
Probando aplicaciones AngularJS
Integración contínua con Jenkins
Integracion Continua
Desarrollo de Aplicaciones Metro en Windows 8
Integracion continua
DEISER expoQA 2017
Flujos de trabajo para un desarrollador web frontend
Jenkins ci + selenium
.NET Core
Yo soy Dev, yo soy Ops y somos dos en un equipo
Argentesting 2017 - Taller de Jenkins
Introducción a WPF
Sácale todo el provecho a Stylus el mejor pre procesador de CSS
Presentacion de integracion continua (lima agile)
Presentacion de Integración Continua
Publicidad

Destacado (8)

PPTX
Gestión Ágil de Entornos de Despliegue en la Nube 2
PPTX
Despliegue de Aplicaciones .Net Core en Docker
PDF
Ecuador jug 2017 -incrementando la productividad de proyectos java ee con c...
PPTX
Una introducción a la Integración continua
PPTX
Teoria introduccion agilismo (Scrum y Kanban)
PPT
Agile Open Lima VII
PPTX
Introducción a la Computacion paralela
PPTX
El reto del DevOps agil
Gestión Ágil de Entornos de Despliegue en la Nube 2
Despliegue de Aplicaciones .Net Core en Docker
Ecuador jug 2017 -incrementando la productividad de proyectos java ee con c...
Una introducción a la Integración continua
Teoria introduccion agilismo (Scrum y Kanban)
Agile Open Lima VII
Introducción a la Computacion paralela
El reto del DevOps agil
Publicidad

Similar a Integración y Entrega Continua con Visual Studio Online (20)

PPSX
Betabeers - continuous deployment
PPTX
Introducción a SharePoint Framework
PDF
Comenzando a usar el Continuous Delivery
PPTX
Integración Continua con Apps Xamarin
PPTX
Continuous Integration - Going from Zero to Hero
PPTX
Conociendo Nuestro Fua interno
PPT
Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...
PPT
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...
PPTX
El coste de no usar integración continua
PPTX
Real CI/CD para MSDyn365FO… Be a hero!
PDF
6 errores a evitar si eres una startup móvil y quieres evolucionar tu app
PDF
Atlassian Bamboo
PPTX
Un "TFS" para gobernarlos a todos
PDF
"Al rico" PHP
PDF
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
PPTX
Metodologias clase 6 - mejora continua xp
PDF
DevOps, por donde comenzar? - DrupalCon Latin America 2015
PPTX
Ingeniería del software y metodologías ágiles
PDF
Azure Functions
PPTX
Azure Functions Spanish
 
Betabeers - continuous deployment
Introducción a SharePoint Framework
Comenzando a usar el Continuous Delivery
Integración Continua con Apps Xamarin
Continuous Integration - Going from Zero to Hero
Conociendo Nuestro Fua interno
Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...
El coste de no usar integración continua
Real CI/CD para MSDyn365FO… Be a hero!
6 errores a evitar si eres una startup móvil y quieres evolucionar tu app
Atlassian Bamboo
Un "TFS" para gobernarlos a todos
"Al rico" PHP
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Metodologias clase 6 - mejora continua xp
DevOps, por donde comenzar? - DrupalCon Latin America 2015
Ingeniería del software y metodologías ágiles
Azure Functions
Azure Functions Spanish
 

Más de Ernesto Cardenas Cangahuala (7)

PPTX
DevOps: ¿es como RRHH cree que es?
PPTX
DevOps is about people, beyond automation
PPTX
DevOps, automatización y... ¿cultura?
PPTX
Deployment Groups con VSTS
PPTX
Los ciclos de desarrollo de software en la actualidad
PPTX
Un DevOps Windows en el mundo Linux
PPTX
En búsqueda del DevOps perdido
DevOps: ¿es como RRHH cree que es?
DevOps is about people, beyond automation
DevOps, automatización y... ¿cultura?
Deployment Groups con VSTS
Los ciclos de desarrollo de software en la actualidad
Un DevOps Windows en el mundo Linux
En búsqueda del DevOps perdido

Último (20)

PDF
TRABAJO DE TECNOLOGIA.pdf...........................
PDF
capacitación de aire acondicionado Bgh r 410
PPTX
Presentacion de Alba Curso Auditores Internos ISO 19011
PDF
clase auditoria informatica 2025.........
PDF
CyberOps Associate - Cisco Networking Academy
PDF
informe_fichas1y2_corregido.docx (2) (1).pdf
PPTX
Propuesta BKP servidores con Acronis1.pptx
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PDF
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
PPTX
modulo seguimiento 1 para iniciantes del
PPTX
Sesion 1 de microsoft power point - Clase 1
PPT
introduccion a las_web en el 2025_mejoras.ppt
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PDF
Estrategia de Apoyo de Daylin Castaño (5).pdf
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PDF
MANUAL de recursos humanos para ODOO.pdf
PDF
Ronmy José Cañas Zambrano - Potenciando la tecnología en Venezuela.pdf
DOCX
Guía 5. Test de orientación Vocacional 2.docx
PPTX
Curso de generación de energía mediante sistemas solares
TRABAJO DE TECNOLOGIA.pdf...........................
capacitación de aire acondicionado Bgh r 410
Presentacion de Alba Curso Auditores Internos ISO 19011
clase auditoria informatica 2025.........
CyberOps Associate - Cisco Networking Academy
informe_fichas1y2_corregido.docx (2) (1).pdf
Propuesta BKP servidores con Acronis1.pptx
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
Presentación PASANTIAS AuditorioOO..pptx
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
modulo seguimiento 1 para iniciantes del
Sesion 1 de microsoft power point - Clase 1
introduccion a las_web en el 2025_mejoras.ppt
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
Estrategia de Apoyo de Daylin Castaño (5).pdf
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
MANUAL de recursos humanos para ODOO.pdf
Ronmy José Cañas Zambrano - Potenciando la tecnología en Venezuela.pdf
Guía 5. Test de orientación Vocacional 2.docx
Curso de generación de energía mediante sistemas solares

Integración y Entrega Continua con Visual Studio Online

  • 2. Integración y Entrega Continua con Visual Studio Online Ernesto Cárdenas Cangahuala Senior Software Engineer| Avantica Technologies @fisica3
  • 4. Erase una vez… un desarrollador
  • 5. En la Universidad • !En mi casa compilaba!
  • 6. • ¿Qué has hecho ayer en todo el día? • …¡Subir el proyecto a preproducción! Durante el Desarrollo
  • 7. • ¡La web de producción esta grabando en la BD de preproducción! • Este… ayer subí la corrección de un bug…. • ¡Además ahora las formulas dan valores incorrectos! … Mantenimiento
  • 9. Integración Continua • Martin Fowler:“La integración continua es una práctica de desarrollo de software en la cuál los miembros de un equipo integran su trabajo frecuentemente, como mínimo de forma diaria. Cada integración se verifica mediante una herramienta de construcción automática para detectar los errores de integración tan pronto como sea posible.”
  • 10. ¿Qué perseguimos con la CI? • Tener un proyecto “sano y funcionando” siempre • Mayor confianza del equipo y de los stakeholders
  • 11. ¿Y si damos un paso mas? •Valor es Software funcionando en manos del usuario ¿verdad? •Entonces nuestro siguiente objetivo es la Entrega Continua
  • 12. ¿Qué lograremos con todo eso? • Tener un proyecto “sano y funcionando” siempre • Mayor confianza del equipo y de los stakeholders • No dedicar tiempo excesivo a la integración y despliegue • Mayor visibilidad y feedback continuo (QA) -> menos riesgos
  • 16. • Mantener un único repositorio de código fuente • Automatizar la construcción, validación y despliegue del proyecto de manera rápida (¡un clic!) • Que sea fácil probar la ultima versión en una replica del entorno de producción • Publicar qué está pasando (alertas!!!) Practicas para el día a día
  • 17. Ok, ¿cómo lo logramos?
  • 20. Team Foundation Build • Considerado parte del núcleo de la plataforma TFS/VSO • Los miembros del equipo pueden ser notificados del estado de la build, para prevenir checkin que no sean correctivos • MSBuild hace el “building”, Windows Workflow hace la orquestación • Extensible: Soporte Java, Maven, Ant vía TFS Build Extensions
  • 21. Arquitectura de Team Foundation Build Application Tier Build Controller Build Agent Drop Server Build
  • 22. Esto, traducido a VSO/Azure…
  • 23. • Controlado por un archivo XAML Windows Workflow 4.0 • Tres plantillas de proceso “out-of-the-box” • DefaultTemplate (ahora con versión Git!) • Almacenado en TFS • Se pueden crear plantillas de build personalizadas Team Build Process
  • 24. Demo
  • 25. Principios para el desarrollador • Diseña características apagables!! • Contribuye a menudo (código sano!) • Soluciona los build rotos inmediatamente • Escribe tests automáticos • Todos los tests deben pasar
  • 26. Llegados a este punto… • ¿Cuanto le tomaría a tu organización desplegar un cambio que involucre tan solo una línea de código? • ¿Lo haces de una manera confiable y reproducible? Mary & Tom Poppendieck
  • 27. Todo eso esta muy pero… • Yo tengo que desplegar en local!
  • 29. Ingredientes • TFS Controller/Agent 2013 • Publish Profiles • .config Transformations • MS Web Deploy
  • 30. Mejor veamoslo en acción
  • 31. Reforzando el factor humano • Establecer políticas de contribución, ramificación y Code Review • Configurar bien las alertas • Detenerse cuando la Build se cae • Si se cae la Build no es el fin del mundo • Antes de hacer commit, Get latest versión y probar en local • Probar en ambiente de Integración • Validar siempre la actualización del Modelo de BD • Considerar CodeAnalysis, StyleCop y opcionalmente convertir warning en errors
  • 32. Caso real • DEV1: Solo compila y corre tests, ejecutada automáticamente • DEV2: DEV1+Despliegue en DEV, cada hora (si hay cambios) • QA: DEV1 + Despliegue en QA, cada 6 horas • Staging: DEV1 + Empaquetado automatico para despliegue manual, bajo demanda ¡Cada una con sus propias configuraciones!
  • 33. Enlaces útiles • El Bruno • Jersson on the Block! • SedoDream • How to install Web Deploy on Windows Server 2012 • Consultor Internet