SlideShare una empresa de Scribd logo
Integración Continua …¿Por qué?
¿Como?
Ernesto Cárdenas Cangahuala (@fisica3)
Software Engineer, Agilista, fotografo
aficionado
Erase una vez… un desarrollador
En la Universidad
 !En mi casa compilaba!
Durante el Desarrollo
 ¿Qué has hecho ayer en todo el día?
 …Subir el proyecto a preproducción
…Mantenimiento
 ¡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!
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.”
¿Que perseguimos con la CI?
Ser capaces de controlar la “salud” de nuestro proyecto durante todo el ciclo
de desarrollo y mantenimiento
Que el código que hay en nuestro repositorio “Funcione”
Invertir menos tiempo en integración.
Incrementar la visibilidad del proceso, feedback inmediato.
Reducir el riesgo del proyecto, gracias a la visibilidad de avance.
Incrementar la autonomía de los Testers, que prueben siempre lo ultimo
Dedicar menos tiempo a la creación y despliegue de versiones
Incrementar la confianza entre los usuarios de negocio y el equipo de
proyecto.
Practicas de Integración Continua
Mantener un único repositorio de código fuente
Automatizar la construcción del proyecto
Hacer que la construcción del proyecto ejecute sus propios tests
Construir la línea principal en la máquina de integración
Mantener una ejecución rápida de la construcción del proyecto
Probar en una réplica del entorno de producción
Hacer que todo el mundo pueda obtener el último ejecutable de forma fácil
Publicar qué está pasando (alertas!!!)
Automatizar el despliegue
Ok, ¿Cómo logramos eso?
Una visión general
Elementos
 Repositorio: Subversion, Mercurial, Team
Foundation Server, Git
 Servidor: Hudson/Jenkins, Team Foundation
Server, Bamboo, TeamCity
 Reglas: ANT, Nant, MSBuild/XAML
 Entorno(s) de despliegue: Web, Windows…
Team Foundation Build
 Considerado parte del núcleo de la plataforma TFS 2012
 Muy integrado con otros servicios y características de TFS
 Version Control
 Work Item Tracking
 Testing
 Permite análisis de tendencias históricas
 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
Symbol
Server
Drop
ServerBuild
Team Build Process
 Controlado por un archivo XAML Windows Workflow
4.0
 Tres plantillas de proceso “out-of-the-box”
 DefaultTemplate
 UpgradeTemplate
 LabDefaultTemplate (y….)
 Almacenado en TFS
 Se pueden crear plantillas de build personalizadas
Definiendo nuestra Build
Parametrizando
Revisión inmediata
Upss… un error
Seguimiento historico
Principios para el desarrollador
 Contribuye a menudo
 No contribuyas código roto
 Soluciona los build rotos inmediatamente
 Escribe tests automáticos
 Todos los tests deben pasar
Reforzando el factor humano
 Establecer políticas de Check-in, shelve 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 check-in, 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
¿Preguntas?
Enlaces útiles
 El Bruno
 Jersson on the Block!
 SedoDream
 How to install Web Deploy on Windows Server 2012
 Consultor Internet

Más contenido relacionado

La actualidad más candente

Continuous Integration - Team city
Continuous Integration - Team cityContinuous Integration - Team city
Continuous Integration - Team city
Angel Nuñez
 
Introducción a HockeyApp
Introducción a HockeyAppIntroducción a HockeyApp
Introducción a HockeyApp
Javier Suárez Ruiz
 
Team Foundation Server
Team Foundation ServerTeam Foundation Server
Team Foundation Server
Jorge Rodriguez
 
Continuos Delivery Commit stage
Continuos Delivery Commit stageContinuos Delivery Commit stage
Continuos Delivery Commit stage
Diego Alejandro Rios Londoño
 
ALM Sessions 2012 - Entrega Continua con VS ALM y TFS
ALM Sessions 2012 - Entrega Continua con VS ALM y TFSALM Sessions 2012 - Entrega Continua con VS ALM y TFS
ALM Sessions 2012 - Entrega Continua con VS ALM y TFS
Jose Luis Soria
 
CI integración continua
CI   integración continuaCI   integración continua
CI integración continua
Mariano German Egui
 
Integración y Entrega Continua con Visual Studio Online
Integración y Entrega Continua con Visual Studio OnlineIntegración y Entrega Continua con Visual Studio Online
Integración y Entrega Continua con Visual Studio Online
Ernesto Cardenas Cangahuala
 
Programación III. tp 02
Programación III. tp 02Programación III. tp 02
Programación III. tp 02MultimediaUNLaR
 
Construir tests
Construir testsConstruir tests
Construir tests
Daniel Giraldo
 
Capitulo 2
Capitulo 2Capitulo 2
Construye un backend para tus app móviles con con ASP.NET Web Api
Construye un backend para tus app móviles con con ASP.NET Web ApiConstruye un backend para tus app móviles con con ASP.NET Web Api
Construye un backend para tus app móviles con con ASP.NET Web Api
Hernan Guzman
 
Jenkins ci + selenium
Jenkins ci + seleniumJenkins ci + selenium
Jenkins ci + selenium
Info ArtdeCode
 
Infraestructura como código
Infraestructura como códigoInfraestructura como código
Infraestructura como código
Juanje Ojeda
 
Tfs 2012 tutorial
Tfs 2012   tutorialTfs 2012   tutorial
Tfs 2012 tutorial
Javier Tuñoque Gálvez
 
Integracion Continua
Integracion ContinuaIntegracion Continua
Integracion Continua
OpenSource Connections
 
Herramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos softwareHerramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos software
Jose Manuel Ortega Candel
 
Symfony
SymfonySymfony
Modelo Integración Continua en entornos de QA
Modelo Integración Continua en entornos de QAModelo Integración Continua en entornos de QA
Modelo Integración Continua en entornos de QA
Mkt Manager Data Adviser
 

La actualidad más candente (19)

Continuous Integration - Team city
Continuous Integration - Team cityContinuous Integration - Team city
Continuous Integration - Team city
 
Introducción a HockeyApp
Introducción a HockeyAppIntroducción a HockeyApp
Introducción a HockeyApp
 
Team Foundation Server
Team Foundation ServerTeam Foundation Server
Team Foundation Server
 
Continuos Delivery Commit stage
Continuos Delivery Commit stageContinuos Delivery Commit stage
Continuos Delivery Commit stage
 
ALM Sessions 2012 - Entrega Continua con VS ALM y TFS
ALM Sessions 2012 - Entrega Continua con VS ALM y TFSALM Sessions 2012 - Entrega Continua con VS ALM y TFS
ALM Sessions 2012 - Entrega Continua con VS ALM y TFS
 
CI integración continua
CI   integración continuaCI   integración continua
CI integración continua
 
Integración y Entrega Continua con Visual Studio Online
Integración y Entrega Continua con Visual Studio OnlineIntegración y Entrega Continua con Visual Studio Online
Integración y Entrega Continua con Visual Studio Online
 
Programación III. tp 02
Programación III. tp 02Programación III. tp 02
Programación III. tp 02
 
Construir tests
Construir testsConstruir tests
Construir tests
 
Capitulo 2
Capitulo 2Capitulo 2
Capitulo 2
 
Construye un backend para tus app móviles con con ASP.NET Web Api
Construye un backend para tus app móviles con con ASP.NET Web ApiConstruye un backend para tus app móviles con con ASP.NET Web Api
Construye un backend para tus app móviles con con ASP.NET Web Api
 
Jenkins ci + selenium
Jenkins ci + seleniumJenkins ci + selenium
Jenkins ci + selenium
 
Infraestructura como código
Infraestructura como códigoInfraestructura como código
Infraestructura como código
 
Tfs 2012 tutorial
Tfs 2012   tutorialTfs 2012   tutorial
Tfs 2012 tutorial
 
Integracion Continua
Integracion ContinuaIntegracion Continua
Integracion Continua
 
Herramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos softwareHerramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos software
 
Symfony
SymfonySymfony
Symfony
 
Symfony
SymfonySymfony
Symfony
 
Modelo Integración Continua en entornos de QA
Modelo Integración Continua en entornos de QAModelo Integración Continua en entornos de QA
Modelo Integración Continua en entornos de QA
 

Destacado

Agile Open Lima VII
Agile Open Lima VIIAgile Open Lima VII
Agile Open Lima VII
Ernesto Cardenas Cangahuala
 
Teoria introduccion agilismo (Scrum y Kanban)
Teoria introduccion agilismo (Scrum y Kanban)Teoria introduccion agilismo (Scrum y Kanban)
Teoria introduccion agilismo (Scrum y Kanban)
Ernesto Cardenas Cangahuala
 
Gestión Ágil de Entornos de Despliegue en la Nube 2
Gestión Ágil de Entornos de Despliegue en la Nube 2Gestión Ágil de Entornos de Despliegue en la Nube 2
Gestión Ágil de Entornos de Despliegue en la Nube 2
Ernesto Cardenas Cangahuala
 
Gestión Agil de Entornos de Despliegue en la Nube
Gestión Agil de Entornos de Despliegue en la NubeGestión Agil de Entornos de Despliegue en la Nube
Gestión Agil de Entornos de Despliegue en la Nube
Ernesto Cardenas Cangahuala
 
Despliegue de Aplicaciones .Net Core en Docker
Despliegue de Aplicaciones .Net Core en DockerDespliegue de Aplicaciones .Net Core en Docker
Despliegue de Aplicaciones .Net Core en Docker
Ernesto Cardenas Cangahuala
 
Introducción a la Computacion paralela
Introducción a la Computacion paralelaIntroducción a la Computacion paralela
Introducción a la Computacion paralela
Ernesto Cardenas Cangahuala
 
El reto del DevOps agil
El reto del DevOps agilEl reto del DevOps agil
El reto del DevOps agil
Ernesto Cardenas Cangahuala
 

Destacado (7)

Agile Open Lima VII
Agile Open Lima VIIAgile Open Lima VII
Agile Open Lima VII
 
Teoria introduccion agilismo (Scrum y Kanban)
Teoria introduccion agilismo (Scrum y Kanban)Teoria introduccion agilismo (Scrum y Kanban)
Teoria introduccion agilismo (Scrum y Kanban)
 
Gestión Ágil de Entornos de Despliegue en la Nube 2
Gestión Ágil de Entornos de Despliegue en la Nube 2Gestión Ágil de Entornos de Despliegue en la Nube 2
Gestión Ágil de Entornos de Despliegue en la Nube 2
 
Gestión Agil de Entornos de Despliegue en la Nube
Gestión Agil de Entornos de Despliegue en la NubeGestión Agil de Entornos de Despliegue en la Nube
Gestión Agil de Entornos de Despliegue en la Nube
 
Despliegue de Aplicaciones .Net Core en Docker
Despliegue de Aplicaciones .Net Core en DockerDespliegue de Aplicaciones .Net Core en Docker
Despliegue de Aplicaciones .Net Core en Docker
 
Introducción a la Computacion paralela
Introducción a la Computacion paralelaIntroducción a la Computacion paralela
Introducción a la Computacion paralela
 
El reto del DevOps agil
El reto del DevOps agilEl reto del DevOps agil
El reto del DevOps agil
 

Similar a Una introducción a la Integración continua

Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...
Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...
Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...
Agiles2009
 
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...
adrianeidelman
 
Conociendo Nuestro Fua interno
Conociendo Nuestro Fua internoConociendo Nuestro Fua interno
Conociendo Nuestro Fua interno
Jose Patricio Bovet Derpich
 
12 MicroSoft SFIC 2009
12 MicroSoft SFIC 200912 MicroSoft SFIC 2009
12 MicroSoft SFIC 2009
Pepe
 
Ingeniería del software y metodologías ágiles
Ingeniería del software y metodologías ágilesIngeniería del software y metodologías ágiles
Ingeniería del software y metodologías ágiles
Rodrigo Corral
 
Guia para el diseño modular de sistemas
Guia para el diseño modular de sistemasGuia para el diseño modular de sistemas
Guia para el diseño modular de sistemas
Oscar Centeno
 
TechNoa 2007 - Visual Studio Team Systems
TechNoa 2007 - Visual Studio Team SystemsTechNoa 2007 - Visual Studio Team Systems
TechNoa 2007 - Visual Studio Team Systems
fmmeson
 
Vs2008
Vs2008Vs2008
Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...
Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...
Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...
Javier Suárez Ruiz
 
Que demonios es eso de Devops (y porquedebería interesarme)
Que demonios es eso de Devops (y porquedebería interesarme)Que demonios es eso de Devops (y porquedebería interesarme)
Que demonios es eso de Devops (y porquedebería interesarme)
Jacobo García López de Araujo
 
Calidad de software
Calidad de softwareCalidad de software
Calidad de software
Software Guru
 
Devops meetup 10 diciembre 2014
Devops meetup 10 diciembre 2014 Devops meetup 10 diciembre 2014
Devops meetup 10 diciembre 2014
Eduardo Diaz
 
DISEÑO DE SISTEMAS.pptx
DISEÑO DE SISTEMAS.pptxDISEÑO DE SISTEMAS.pptx
DISEÑO DE SISTEMAS.pptx
EnriqueContreras59
 
Continuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudioContinuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudio
Osvaldo
 
Continuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudioContinuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudio
Osvaldo
 
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?
Micael Gallego
 
Jsf Java Server Faces
Jsf   Java Server FacesJsf   Java Server Faces
Jsf Java Server Facescok12v
 
1.Visual Studio Team System
1.Visual Studio Team System1.Visual Studio Team System
1.Visual Studio Team System
Debora Di Piano
 
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuoMeetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
TestingUy
 

Similar a Una introducción a la Integración continua (20)

Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...
Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...
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...
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...
 
Conociendo Nuestro Fua interno
Conociendo Nuestro Fua internoConociendo Nuestro Fua interno
Conociendo Nuestro Fua interno
 
12 MicroSoft SFIC 2009
12 MicroSoft SFIC 200912 MicroSoft SFIC 2009
12 MicroSoft SFIC 2009
 
Ingeniería del software y metodologías ágiles
Ingeniería del software y metodologías ágilesIngeniería del software y metodologías ágiles
Ingeniería del software y metodologías ágiles
 
Guia para el diseño modular de sistemas
Guia para el diseño modular de sistemasGuia para el diseño modular de sistemas
Guia para el diseño modular de sistemas
 
TechNoa 2007 - Visual Studio Team Systems
TechNoa 2007 - Visual Studio Team SystemsTechNoa 2007 - Visual Studio Team Systems
TechNoa 2007 - Visual Studio Team Systems
 
Vs2008
Vs2008Vs2008
Vs2008
 
Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...
Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...
Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...
 
Tarea 6
Tarea 6Tarea 6
Tarea 6
 
Que demonios es eso de Devops (y porquedebería interesarme)
Que demonios es eso de Devops (y porquedebería interesarme)Que demonios es eso de Devops (y porquedebería interesarme)
Que demonios es eso de Devops (y porquedebería interesarme)
 
Calidad de software
Calidad de softwareCalidad de software
Calidad de software
 
Devops meetup 10 diciembre 2014
Devops meetup 10 diciembre 2014 Devops meetup 10 diciembre 2014
Devops meetup 10 diciembre 2014
 
DISEÑO DE SISTEMAS.pptx
DISEÑO DE SISTEMAS.pptxDISEÑO DE SISTEMAS.pptx
DISEÑO DE SISTEMAS.pptx
 
Continuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudioContinuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudio
 
Continuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudioContinuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudio
 
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?
 
Jsf Java Server Faces
Jsf   Java Server FacesJsf   Java Server Faces
Jsf Java Server Faces
 
1.Visual Studio Team System
1.Visual Studio Team System1.Visual Studio Team System
1.Visual Studio Team System
 
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuoMeetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
 

Más de Ernesto Cardenas Cangahuala

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

Más de Ernesto Cardenas Cangahuala (7)

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

Último

Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
durangense277
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 

Último (20)

Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 

Una introducción a la Integración continua

  • 1. Integración Continua …¿Por qué? ¿Como? Ernesto Cárdenas Cangahuala (@fisica3) Software Engineer, Agilista, fotografo aficionado
  • 2. Erase una vez… un desarrollador
  • 3. En la Universidad  !En mi casa compilaba!
  • 4. Durante el Desarrollo  ¿Qué has hecho ayer en todo el día?  …Subir el proyecto a preproducción
  • 5. …Mantenimiento  ¡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!
  • 6. 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.”
  • 7. ¿Que perseguimos con la CI? Ser capaces de controlar la “salud” de nuestro proyecto durante todo el ciclo de desarrollo y mantenimiento Que el código que hay en nuestro repositorio “Funcione” Invertir menos tiempo en integración. Incrementar la visibilidad del proceso, feedback inmediato. Reducir el riesgo del proyecto, gracias a la visibilidad de avance. Incrementar la autonomía de los Testers, que prueben siempre lo ultimo Dedicar menos tiempo a la creación y despliegue de versiones Incrementar la confianza entre los usuarios de negocio y el equipo de proyecto.
  • 8. Practicas de Integración Continua Mantener un único repositorio de código fuente Automatizar la construcción del proyecto Hacer que la construcción del proyecto ejecute sus propios tests Construir la línea principal en la máquina de integración Mantener una ejecución rápida de la construcción del proyecto Probar en una réplica del entorno de producción Hacer que todo el mundo pueda obtener el último ejecutable de forma fácil Publicar qué está pasando (alertas!!!) Automatizar el despliegue
  • 11. Elementos  Repositorio: Subversion, Mercurial, Team Foundation Server, Git  Servidor: Hudson/Jenkins, Team Foundation Server, Bamboo, TeamCity  Reglas: ANT, Nant, MSBuild/XAML  Entorno(s) de despliegue: Web, Windows…
  • 12. Team Foundation Build  Considerado parte del núcleo de la plataforma TFS 2012  Muy integrado con otros servicios y características de TFS  Version Control  Work Item Tracking  Testing  Permite análisis de tendencias históricas  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
  • 13. Arquitectura de Team Foundation Build Application Tier Build Controller Build Agent Symbol Server Drop ServerBuild
  • 14. Team Build Process  Controlado por un archivo XAML Windows Workflow 4.0  Tres plantillas de proceso “out-of-the-box”  DefaultTemplate  UpgradeTemplate  LabDefaultTemplate (y….)  Almacenado en TFS  Se pueden crear plantillas de build personalizadas
  • 20. Principios para el desarrollador  Contribuye a menudo  No contribuyas código roto  Soluciona los build rotos inmediatamente  Escribe tests automáticos  Todos los tests deben pasar
  • 21. Reforzando el factor humano  Establecer políticas de Check-in, shelve 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 check-in, 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
  • 23. Enlaces útiles  El Bruno  Jersson on the Block!  SedoDream  How to install Web Deploy on Windows Server 2012  Consultor Internet