SlideShare una empresa de Scribd logo
1 de 28
Integración Continua con
TFS 2012
  Ernesto Cárdenas Cangahuala
  Software Engineer, Agilista
  Avantica Technologies
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. Cualquiera puede acceder a la versión
actual desplegada y validar que lo que está terminado lo este realmente.
  Reducir el riesgo del proyecto, gracias a la visibilidad de avance.
  Incrementar la autonomía de los Testers. Disponen de los últimos avances
desarrollados disponibles para probar.
  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
Entregar los cambios a la línea principal todos los días
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
Automatizar el despliegue
Ok, ¿Cómo logramos eso?
Precisando....
¿Qué es Team Foundation Server?
No es el nuevo SourceSafe
No es SourceSafe sobre SQL Server (bueno, casi)
Mas bien es...
...una solución ALM horizontal
Team Foundation Server 2012
Fácil de desplegar
Fácil de utilizar
Bien integrado a Visual Studio (My Work,Code Review)
Ahora mas flexible para trabajar desde la Web
Workspaces locales
No solo .Net
Team Foundation Service
Escalabilidad en la nube Y
Facilidad de Mantenimiento
Alojado en Azure
Actualizaciones transparentes y
rápidas
Build en la nube

Múltiples proyectos
Se tiene una colección entera

¡Listo para probar!
Server vs. Service
                                           Server   Service
     Work Items, Source Control, & Build
      Agile Product/Project Management
                 Test Case Management
           Heterogeneous Development
      Near-zero setup and administration
 Collaborate with anyone, from anywhere
           Virtual Test Lab Management
                  SharePoint Integration
           Data Warehouse & Reporting
Primeros pasos en CI

Tus Tests y Visual Studio 2012
Arquitectura

  Visual Studio Unit          Command Line           TeamBuild Unit Test
    Test Explorer                Runner                   Activity



                       Visual Studio Unit Test Platform



 MS-Test     MS-Test
                             NUnit      xUnit.net     QUnit     MORE!
 Managed     Native
Usa el framework que quieres usar
Soporte “In the box” para
  lMS-Test Managed

  lMS-Test Native (**New**)

Plugins the 3ros actualmente bajo desarrollo
  lNUnit

  lXunit.Net

  lSQL Server Unit Testing

  l...
Demo
MS Test y NUnit
l
Ahora si....

Integrando continuamente con TFS
Team Foundation Build
 Considerado parte del núcleo de la plataforma TFS 2012
 Muy integrado con otros servicios y características de TFS
    lVersion Control

    lWork Item Tracking

    lTesting

 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        Build
      Tier          Controller
                                 Symbol
                                 Server

                     Build
                     Agent


                                  Drop
            Build                Server
Team Build Process
Controlado por un archivo XAML Windows Workflow 4.0
Tres plantillas de proceso “out-of-the-box”
  lDefaultTemplate

  lUpgradeTemplate

  lLabDefaultTemplate (y….)

Almacenado en TFS
Se pueden crear plantillas de build personalizadas
Soporte para Tests en Team Build
lSi el test funciona en VS, funciona en Team Build
      lFrameworks de 3ras partes

      lVisual Studio Fakes Isolation Framework (Nuevo en VS 2012)

      lCode Coverage

lMas…

      lTeam Build en la nube

      lTest Impact Analysis
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
Demo
lHaciendo Build en la nube y desplegando hacia la nube
l¡Alertas!
Bueno, pero.. yo no uso la nube
Prepara tu entorno de Builds
  lLibrerías de 3ros

  lVisual Studio si el proyecto es Web

  lSlow Cheetah

  lPermisos

  lSQL Server Data Tools

Define y Prepara tu(s) entorno(s) de despliegue
  lMS Deploy

  lWeb Sites en IIS (1 por cada entorno de Despliegue)

  lNunca copies .config a mano!

  l/p:DeployOnBuild=true;PublishProfile=MiProfile;Password=xxx;

  lConfigura bien tus Logs
Enlaces útiles
El Bruno
Jersson on the Block!
SedoDream
How to install Web Deploy on Windows Server 2012
Consultor Internet
¡GRACIAS!

Más contenido relacionado

La actualidad más candente

diseño de direccionamiento
diseño de direccionamiento diseño de direccionamiento
diseño de direccionamiento soledad serapio
 
Introducción al curso Fundamentos de Programación Misión TIC 2022
Introducción al curso Fundamentos de Programación Misión TIC 2022Introducción al curso Fundamentos de Programación Misión TIC 2022
Introducción al curso Fundamentos de Programación Misión TIC 2022Richard Eliseo Mendoza Gafaro
 
Tps(proceso de software en equipo)jose
Tps(proceso de software en equipo)joseTps(proceso de software en equipo)jose
Tps(proceso de software en equipo)joseJose Holguin Campo
 
Ejercicios resueltos y propuestos en php
Ejercicios resueltos y propuestos en phpEjercicios resueltos y propuestos en php
Ejercicios resueltos y propuestos en phpwilson vasquez
 
10 Conceptos BáSicos De IngenieríA En Sistemas Computacionales
10 Conceptos BáSicos De IngenieríA En Sistemas Computacionales10 Conceptos BáSicos De IngenieríA En Sistemas Computacionales
10 Conceptos BáSicos De IngenieríA En Sistemas Computacionalesrodrigo
 
Best Practices in Qt Quick/QML - Part 3
Best Practices in Qt Quick/QML - Part 3Best Practices in Qt Quick/QML - Part 3
Best Practices in Qt Quick/QML - Part 3ICS
 
Archivos y directorios
Archivos y directoriosArchivos y directorios
Archivos y directoriosMilton Bazzino
 
Introduction to HTML
Introduction to HTMLIntroduction to HTML
Introduction to HTMLMayaLisa
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejerciciostestgrupocomex
 
Pengenalan html
Pengenalan htmlPengenalan html
Pengenalan htmlbakpya
 
Uso de escalas en los cuestionarios
Uso de escalas en los cuestionariosUso de escalas en los cuestionarios
Uso de escalas en los cuestionariosVictor
 

La actualidad más candente (20)

diseño de direccionamiento
diseño de direccionamiento diseño de direccionamiento
diseño de direccionamiento
 
Introducción al curso Fundamentos de Programación Misión TIC 2022
Introducción al curso Fundamentos de Programación Misión TIC 2022Introducción al curso Fundamentos de Programación Misión TIC 2022
Introducción al curso Fundamentos de Programación Misión TIC 2022
 
Lenguaje HTML
Lenguaje HTMLLenguaje HTML
Lenguaje HTML
 
Tps(proceso de software en equipo)jose
Tps(proceso de software en equipo)joseTps(proceso de software en equipo)jose
Tps(proceso de software en equipo)jose
 
Trabajo IPv6
Trabajo IPv6Trabajo IPv6
Trabajo IPv6
 
DNS cliente servidor
DNS cliente servidorDNS cliente servidor
DNS cliente servidor
 
Ejercicios resueltos y propuestos en php
Ejercicios resueltos y propuestos en phpEjercicios resueltos y propuestos en php
Ejercicios resueltos y propuestos en php
 
Html tutorials
Html tutorialsHtml tutorials
Html tutorials
 
Presentación CSS
Presentación CSSPresentación CSS
Presentación CSS
 
10 Conceptos BáSicos De IngenieríA En Sistemas Computacionales
10 Conceptos BáSicos De IngenieríA En Sistemas Computacionales10 Conceptos BáSicos De IngenieríA En Sistemas Computacionales
10 Conceptos BáSicos De IngenieríA En Sistemas Computacionales
 
Best Practices in Qt Quick/QML - Part 3
Best Practices in Qt Quick/QML - Part 3Best Practices in Qt Quick/QML - Part 3
Best Practices in Qt Quick/QML - Part 3
 
Archivos y directorios
Archivos y directoriosArchivos y directorios
Archivos y directorios
 
Introduction to HTML
Introduction to HTMLIntroduction to HTML
Introduction to HTML
 
Sql ejercicios resueltos
Sql ejercicios resueltosSql ejercicios resueltos
Sql ejercicios resueltos
 
Clase 7 objetos globales de javaScript
Clase 7 objetos globales de javaScriptClase 7 objetos globales de javaScript
Clase 7 objetos globales de javaScript
 
HTML
HTMLHTML
HTML
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejercicios
 
html5.ppt
html5.ppthtml5.ppt
html5.ppt
 
Pengenalan html
Pengenalan htmlPengenalan html
Pengenalan html
 
Uso de escalas en los cuestionarios
Uso de escalas en los cuestionariosUso de escalas en los cuestionarios
Uso de escalas en los cuestionarios
 

Destacado

Integración Continua con Team Foundation Server
Integración Continua con Team Foundation ServerIntegración Continua con Team Foundation Server
Integración Continua con Team Foundation Serverrido
 
Introducción a Team Foundation Service, ALM en la Nube
Introducción a Team Foundation Service, ALM en la NubeIntroducción a Team Foundation Service, ALM en la Nube
Introducción a Team Foundation Service, ALM en la NubeErnesto Cardenas Cangahuala
 
ALMSaimada Caso de éxito de migración a Team Foundation Server Version Control
ALMSaimada Caso de éxito de migración a Team Foundation Server Version ControlALMSaimada Caso de éxito de migración a Team Foundation Server Version Control
ALMSaimada Caso de éxito de migración a Team Foundation Server Version ControlGlobe Testing
 
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 2Ernesto Cardenas Cangahuala
 
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 OnlineErnesto Cardenas Cangahuala
 
Scrum With Team Foundation Server 2010
Scrum With Team Foundation Server 2010Scrum With Team Foundation Server 2010
Scrum With Team Foundation Server 2010Aaron Bjork
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREjose_rob
 
Je démarre avec TFS 2012
Je démarre avec TFS 2012Je démarre avec TFS 2012
Je démarre avec TFS 2012Cédric Leblond
 

Destacado (13)

Integración Continua con Team Foundation Server
Integración Continua con Team Foundation ServerIntegración Continua con Team Foundation Server
Integración Continua con Team Foundation Server
 
Introducción a Team Foundation Service, ALM en la Nube
Introducción a Team Foundation Service, ALM en la NubeIntroducción a Team Foundation Service, ALM en la Nube
Introducción a Team Foundation Service, ALM en la Nube
 
ALMSaimada Caso de éxito de migración a Team Foundation Server Version Control
ALMSaimada Caso de éxito de migración a Team Foundation Server Version ControlALMSaimada Caso de éxito de migración a Team Foundation Server Version Control
ALMSaimada Caso de éxito de migración a Team Foundation Server Version Control
 
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
 
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
 
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
 
Scrum With Team Foundation Server 2010
Scrum With Team Foundation Server 2010Scrum With Team Foundation Server 2010
Scrum With Team Foundation Server 2010
 
TFS 10
TFS 10TFS 10
TFS 10
 
Clean code
Clean codeClean code
Clean code
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
 
Tfs 2012 tutorial
Tfs 2012   tutorialTfs 2012   tutorial
Tfs 2012 tutorial
 
TFS
TFSTFS
TFS
 
Je démarre avec TFS 2012
Je démarre avec TFS 2012Je démarre avec TFS 2012
Je démarre avec TFS 2012
 

Similar a Integración Continua usando Team Foundation Server

12 MicroSoft SFIC 2009
12 MicroSoft SFIC 200912 MicroSoft SFIC 2009
12 MicroSoft SFIC 2009Pepe
 
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 ágilesRodrigo Corral
 
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
 
TechNoa 2007 - Visual Studio Team Systems
TechNoa 2007 - Visual Studio Team SystemsTechNoa 2007 - Visual Studio Team Systems
TechNoa 2007 - Visual Studio Team Systemsfmmeson
 
Lanzamiento Visual Studio 2008
Lanzamiento Visual Studio 2008Lanzamiento Visual Studio 2008
Lanzamiento Visual Studio 2008Tonymx
 
Roadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis Soria
Roadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis SoriaRoadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis Soria
Roadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis SoriaJose Luis Soria
 
Alm09 Ecosistemas Heterogéneos TFS
Alm09 Ecosistemas Heterogéneos TFSAlm09 Ecosistemas Heterogéneos TFS
Alm09 Ecosistemas Heterogéneos TFSJose Luis Soria
 
Novedades De Visual Studio 2010
Novedades De Visual Studio 2010Novedades De Visual Studio 2010
Novedades De Visual Studio 2010Foquita05
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAmazon Web Services LATAM
 
Presentacion de integracion continua (lima agile)
Presentacion de integracion continua (lima agile)Presentacion de integracion continua (lima agile)
Presentacion de integracion continua (lima agile)Gustavo Veliz
 
Visual Studio2005
Visual Studio2005Visual Studio2005
Visual Studio2005hvillarreal
 
Novedades En Visual Studio Team System 2010
Novedades En Visual Studio Team System 2010Novedades En Visual Studio Team System 2010
Novedades En Visual Studio Team System 2010Bruno Capuano
 
Visual Studio Life Runs On Code
Visual  Studio  Life  Runs On  CodeVisual  Studio  Life  Runs On  Code
Visual Studio Life Runs On Codedaniel.sierra
 
Articulo tipos de ide y ajax control toolkit
Articulo   tipos de ide y ajax control toolkitArticulo   tipos de ide y ajax control toolkit
Articulo tipos de ide y ajax control toolkitCesar Escalante
 

Similar a Integración Continua usando Team Foundation Server (20)

Una introducción a la Integración continua
Una introducción a la Integración continuaUna introducción a la Integración continua
Una introducción a la Integración continua
 
12 MicroSoft SFIC 2009
12 MicroSoft SFIC 200912 MicroSoft SFIC 2009
12 MicroSoft SFIC 2009
 
Conociendo Nuestro Fua interno
Conociendo Nuestro Fua internoConociendo Nuestro Fua interno
Conociendo Nuestro Fua interno
 
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
 
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...
 
TechNoa 2007 - Visual Studio Team Systems
TechNoa 2007 - Visual Studio Team SystemsTechNoa 2007 - Visual Studio Team Systems
TechNoa 2007 - Visual Studio Team Systems
 
Lanzamiento Visual Studio 2008
Lanzamiento Visual Studio 2008Lanzamiento Visual Studio 2008
Lanzamiento Visual Studio 2008
 
CI integración continua
CI   integración continuaCI   integración continua
CI integración continua
 
Roadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis Soria
Roadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis SoriaRoadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis Soria
Roadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis Soria
 
Alm09 Ecosistemas Heterogéneos TFS
Alm09 Ecosistemas Heterogéneos TFSAlm09 Ecosistemas Heterogéneos TFS
Alm09 Ecosistemas Heterogéneos TFS
 
Novedades De Visual Studio 2010
Novedades De Visual Studio 2010Novedades De Visual Studio 2010
Novedades De Visual Studio 2010
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
 
Presentacion de integracion continua (lima agile)
Presentacion de integracion continua (lima agile)Presentacion de integracion continua (lima agile)
Presentacion de integracion continua (lima agile)
 
Visual Studio2005
Visual Studio2005Visual Studio2005
Visual Studio2005
 
Vs2008
Vs2008Vs2008
Vs2008
 
Novedades En Visual Studio Team System 2010
Novedades En Visual Studio Team System 2010Novedades En Visual Studio Team System 2010
Novedades En Visual Studio Team System 2010
 
Visual Studio Life Runs On Code
Visual  Studio  Life  Runs On  CodeVisual  Studio  Life  Runs On  Code
Visual Studio Life Runs On Code
 
Un "TFS" para gobernarlos a todos
Un "TFS" para gobernarlos a todosUn "TFS" para gobernarlos a todos
Un "TFS" para gobernarlos a todos
 
Articulo tipos de ide y ajax control toolkit
Articulo   tipos de ide y ajax control toolkitArticulo   tipos de ide y ajax control toolkit
Articulo tipos de ide y ajax control toolkit
 

Más de Ernesto Cardenas Cangahuala (12)

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
 
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
 
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
 
Teoria introduccion agilismo (Scrum y Kanban)
Teoria introduccion agilismo (Scrum y Kanban)Teoria introduccion agilismo (Scrum y Kanban)
Teoria introduccion agilismo (Scrum y Kanban)
 
Agile Open Lima VII
Agile Open Lima VIIAgile Open Lima VII
Agile Open Lima VII
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 

Último (11)

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 

Integración Continua usando Team Foundation Server

  • 1. Integración Continua con TFS 2012 Ernesto Cárdenas Cangahuala Software Engineer, Agilista Avantica Technologies
  • 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. Cualquiera puede acceder a la versión actual desplegada y validar que lo que está terminado lo este realmente. Reducir el riesgo del proyecto, gracias a la visibilidad de avance. Incrementar la autonomía de los Testers. Disponen de los últimos avances desarrollados disponibles para probar. 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 Entregar los cambios a la línea principal todos los días 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 Automatizar el despliegue
  • 10. Precisando.... ¿Qué es Team Foundation Server? No es el nuevo SourceSafe No es SourceSafe sobre SQL Server (bueno, casi) Mas bien es...
  • 11. ...una solución ALM horizontal
  • 12. Team Foundation Server 2012 Fácil de desplegar Fácil de utilizar Bien integrado a Visual Studio (My Work,Code Review) Ahora mas flexible para trabajar desde la Web Workspaces locales No solo .Net
  • 13. Team Foundation Service Escalabilidad en la nube Y Facilidad de Mantenimiento Alojado en Azure Actualizaciones transparentes y rápidas Build en la nube Múltiples proyectos Se tiene una colección entera ¡Listo para probar!
  • 14. Server vs. Service Server Service Work Items, Source Control, & Build Agile Product/Project Management Test Case Management Heterogeneous Development Near-zero setup and administration Collaborate with anyone, from anywhere Virtual Test Lab Management SharePoint Integration Data Warehouse & Reporting
  • 15. Primeros pasos en CI Tus Tests y Visual Studio 2012
  • 16. Arquitectura Visual Studio Unit Command Line TeamBuild Unit Test Test Explorer Runner Activity Visual Studio Unit Test Platform MS-Test MS-Test NUnit xUnit.net QUnit MORE! Managed Native
  • 17. Usa el framework que quieres usar Soporte “In the box” para lMS-Test Managed lMS-Test Native (**New**) Plugins the 3ros actualmente bajo desarrollo lNUnit lXunit.Net lSQL Server Unit Testing l...
  • 18. Demo MS Test y NUnit l
  • 20. Team Foundation Build Considerado parte del núcleo de la plataforma TFS 2012 Muy integrado con otros servicios y características de TFS lVersion Control lWork Item Tracking lTesting 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
  • 21. Arquitectura de Team Foundation Build Application Build Tier Controller Symbol Server Build Agent Drop Build Server
  • 22. Team Build Process Controlado por un archivo XAML Windows Workflow 4.0 Tres plantillas de proceso “out-of-the-box” lDefaultTemplate lUpgradeTemplate lLabDefaultTemplate (y….) Almacenado en TFS Se pueden crear plantillas de build personalizadas
  • 23. Soporte para Tests en Team Build lSi el test funciona en VS, funciona en Team Build lFrameworks de 3ras partes lVisual Studio Fakes Isolation Framework (Nuevo en VS 2012) lCode Coverage lMas… lTeam Build en la nube lTest Impact Analysis
  • 24. 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
  • 25. Demo lHaciendo Build en la nube y desplegando hacia la nube l¡Alertas!
  • 26. Bueno, pero.. yo no uso la nube Prepara tu entorno de Builds lLibrerías de 3ros lVisual Studio si el proyecto es Web lSlow Cheetah lPermisos lSQL Server Data Tools Define y Prepara tu(s) entorno(s) de despliegue lMS Deploy lWeb Sites en IIS (1 por cada entorno de Despliegue) lNunca copies .config a mano! l/p:DeployOnBuild=true;PublishProfile=MiProfile;Password=xxx; lConfigura bien tus Logs
  • 27. Enlaces útiles El Bruno Jersson on the Block! SedoDream How to install Web Deploy on Windows Server 2012 Consultor Internet