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

Codigo intermedio
Codigo intermedioCodigo intermedio
Codigo intermedio
Emanuel Gs
 
Modelo en cascada
Modelo en cascadaModelo en cascada
Modelo en cascada
home
 
La calidad del software
La calidad del softwareLa calidad del software
La calidad del software
duberlisg
 
Modelo de desarrollo rápido de aplicaciones
Modelo de desarrollo rápido de aplicaciones  Modelo de desarrollo rápido de aplicaciones
Modelo de desarrollo rápido de aplicaciones
LuisGonzlez362
 
Desarrollo estructurado
Desarrollo estructuradoDesarrollo estructurado
Desarrollo estructurado
waralivt
 
Las 4 P en el desarrollo de software
Las 4 P en el desarrollo de softwareLas 4 P en el desarrollo de software
Las 4 P en el desarrollo de software
Sofylutqm
 
Tecnicas de estimacion de software
Tecnicas de estimacion de softwareTecnicas de estimacion de software
Tecnicas de estimacion de software
Ades27
 

La actualidad más candente (20)

La documentación de los proyectos de Ingeniería Informática
La documentación de los proyectos de Ingeniería InformáticaLa documentación de los proyectos de Ingeniería Informática
La documentación de los proyectos de Ingeniería Informática
 
Modelos de calidad CMMI - Moprosoft
Modelos de calidad CMMI - MoprosoftModelos de calidad CMMI - Moprosoft
Modelos de calidad CMMI - Moprosoft
 
Bibliotecas o libreria de c++
Bibliotecas o libreria de c++Bibliotecas o libreria de c++
Bibliotecas o libreria de c++
 
Codigo intermedio
Codigo intermedioCodigo intermedio
Codigo intermedio
 
Calidad en las Tecnologías de la información y comunicación TICS
Calidad en las Tecnologías de la información y comunicación TICSCalidad en las Tecnologías de la información y comunicación TICS
Calidad en las Tecnologías de la información y comunicación TICS
 
Modelo en cascada
Modelo en cascadaModelo en cascada
Modelo en cascada
 
La calidad del software
La calidad del softwareLa calidad del software
La calidad del software
 
Modelo de desarrollo rápido de aplicaciones
Modelo de desarrollo rápido de aplicaciones  Modelo de desarrollo rápido de aplicaciones
Modelo de desarrollo rápido de aplicaciones
 
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
 
Decompiladores
DecompiladoresDecompiladores
Decompiladores
 
Desarrollo estructurado
Desarrollo estructuradoDesarrollo estructurado
Desarrollo estructurado
 
Metodología Cascada
Metodología CascadaMetodología Cascada
Metodología Cascada
 
Las 4 P en el desarrollo de software
Las 4 P en el desarrollo de softwareLas 4 P en el desarrollo de software
Las 4 P en el desarrollo de software
 
Metodología de desarrollo multimedia
Metodología de desarrollo multimediaMetodología de desarrollo multimedia
Metodología de desarrollo multimedia
 
Análisis y diseño de sistemas estructurado
Análisis y diseño de sistemas estructuradoAnálisis y diseño de sistemas estructurado
Análisis y diseño de sistemas estructurado
 
Tecnicas de estimacion de software
Tecnicas de estimacion de softwareTecnicas de estimacion de software
Tecnicas de estimacion de software
 
Diagramas estados
Diagramas estadosDiagramas estados
Diagramas estados
 
Testing para dummies
Testing para dummiesTesting para dummies
Testing para dummies
 
Modelo rup
Modelo rupModelo rup
Modelo rup
 
4. Diseño e Implementación de Software
4. Diseño e Implementación de Software4. Diseño e Implementación de Software
4. Diseño e Implementación de Software
 

Destacado

Destacado (12)

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
 
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

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 Studio2005
hvillarreal
 
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
Bruno Capuano
 
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
Cesar 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

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 administrativa
nicho110
 

Último (12)

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...
 
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.
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
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
 
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
 
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
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
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
 
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
 
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
 
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
 

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