SlideShare una empresa de Scribd logo
1 de 12
Gestión de código y
librerías compartidas
   con TFS y NuGet

         Jose Luis Soria
ALM Team Lead / Plain Concepts
  jlsoria@plainconcepts.com
            @jlsoriat
 http://geeks.ms/blogs/jlsoria




               Logo Empresa Ponente
¿Por qué preocuparnos por este tema?
• Todo el mundo tiene código o librerías
  comunes, que necesitan ser compartidas
  entre varios proyectos de la organización
• En muchas ocasiones, no se tiene una
  estrategia definida para gestionar estas
  dependencias



                                          Logo Empresa
                                            Ponente
Mapeo de workspaces
• Definir el mapeo del espacio de trabajo de
  modo que las dependencias estén disponibles
  para ser utilizadas




                                       Logo Empresa
                                         Ponente
Mapeo de workspaces
• Es muy simple de configurar
• El código común se compila cada vez
• Necesito tener el mapeo de espacios de
  trabajo estandarizado para todos los
  desarrolladores
• Si se modifica el código en el proyecto
  común, todo el mundo recibe los cambios al
  bajarse la última versión
                                        Logo Empresa
                                          Ponente
Ramas
• Creamos una copia de la dependencia
  haciendo una rama para el proyecto que la
  utiliza




                                        Logo Empresa
                                          Ponente
Ramas
• Tiene trabajo de mantenimiento
  (combinaciones)
• El código común se compila cada vez
• Cada proyecto destino puede elegir la versión
  de la dependencia que está utilizando




                                         Logo Empresa
                                           Ponente
Actualización de dependencias
• Se tiene una copia de la dependencia
  (construida) subida al control de versiones, en
  una subcarpeta del proyecto destino
• Si la dependencia es actualizada, se construye
  de nuevo y se actualiza la copia del proyecto
  destino
• Se puede utilizar una costrucción
  automatizada para hacer la actualización de
  forma desatendida
                                          Logo Empresa
                                            Ponente
Actualización de dependencias
• Puede tener trabajo de mantenimiento
  (actualizaciones)
• El código común no se compila cada vez
• Cada proyecto destino puede elegir la versión
  de la dependencia que está utilizando




                                         Logo Empresa
                                           Ponente
Servidor de NuGet
• Se tiene un servidor de NuGet “privado” para
  la organización
• Una construcción automatizada construye las
  dependencias, genera el paquete de NuGet
  correspondiente y lo actualiza en el servidor
  de NuGet



                                         Logo Empresa
                                           Ponente
Servidor de NuGet
• Trabajo de mantenimiento mínimo
• El código común no se compila cada vez
• Cada proyecto destino puede elegir la versión
  de la dependencia que está utilizando




                                         Logo Empresa
                                           Ponente
Servidor de NuGet
• Todas las ventajas de NuGet
  – Los ficheros necesarios se mantienen
    automáticamente y se pueden actualizar los
    ficheros de configuración
  – Al eliminar dependencias, los ficheros asociados
    también se eliminan automáticamente
  – Gestión de actualizaciones integrada
  – Se puede usar con nuget.org

                                              Logo Empresa
                                                Ponente
Más información
• NuGet: http://nuget.codeplex.com/
• NuGetter: http://nugetter.codeplex.com/
• NuGet for the Enterprise: http://bit.ly/ms3s2r

          jlsoria@plainconcepts.com
         http://geeks.ms/blogs/jlsoria
                   @jlsoriat
       http://www.slideshare.net/jlsoria
                                           Logo Empresa
                                             Ponente

Más contenido relacionado

Similar a 12 Horas Visual Studio - Gestion de código y librerías compartidas con TFS y NuGet

MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software
MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del SoftwareMOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software
MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software
Javier Muñoz
 
No más "programación copy&paste". Generación automática de código con MOSKitt
No más "programación copy&paste". Generación automática de código con MOSKittNo más "programación copy&paste". Generación automática de código con MOSKitt
No más "programación copy&paste". Generación automática de código con MOSKitt
Javier Muñoz
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
glfloresgilberto
 

Similar a 12 Horas Visual Studio - Gestion de código y librerías compartidas con TFS y NuGet (20)

JS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World ExampleJS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World Example
 
Desarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDesarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nube
 
Azure Functions Spanish
Azure Functions SpanishAzure Functions Spanish
Azure Functions Spanish
 
Azure Functions
Azure FunctionsAzure Functions
Azure Functions
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidad
 
MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software
MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del SoftwareMOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software
MOSKitt: Herramienta de Modelado UML y Soporte a la Ingeniería del Software
 
No más "programación copy&paste". Generación automática de código con MOSKitt
No más "programación copy&paste". Generación automática de código con MOSKittNo más "programación copy&paste". Generación automática de código con MOSKitt
No más "programación copy&paste". Generación automática de código con MOSKitt
 
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOpsMeetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
 
SGCE 2014 micro services
SGCE 2014 micro servicesSGCE 2014 micro services
SGCE 2014 micro services
 
Desarrollo y diseño de software
Desarrollo y diseño de softwareDesarrollo y diseño de software
Desarrollo y diseño de software
 
Introducción a symfony
Introducción a symfonyIntroducción a symfony
Introducción a symfony
 
Capítulos 8,9 y 10
Capítulos 8,9 y 10Capítulos 8,9 y 10
Capítulos 8,9 y 10
 
Blog
BlogBlog
Blog
 
Software
Software Software
Software
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
 
01 T1 2021 Sistemas Embebidos.pptx
01 T1 2021 Sistemas Embebidos.pptx01 T1 2021 Sistemas Embebidos.pptx
01 T1 2021 Sistemas Embebidos.pptx
 
Instalación de software
Instalación de softwareInstalación de software
Instalación de software
 
Instalación de software
Instalación de softwareInstalación de software
Instalación de software
 
Herramientas
HerramientasHerramientas
Herramientas
 
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno
 

Más de Jose Luis Soria

Más de Jose Luis Soria (20)

Project Portfolio Management with Kanban in an international company
Project Portfolio Management with Kanban in an international companyProject Portfolio Management with Kanban in an international company
Project Portfolio Management with Kanban in an international company
 
Lean Kanban at Ria - Lean Kanban Southern Europe 2015
Lean Kanban at Ria - Lean Kanban Southern Europe 2015Lean Kanban at Ria - Lean Kanban Southern Europe 2015
Lean Kanban at Ria - Lean Kanban Southern Europe 2015
 
Things to do with the time you’ll save thanks to VSO
Things to do with the time you’ll save thanks to VSO Things to do with the time you’ll save thanks to VSO
Things to do with the time you’ll save thanks to VSO
 
Jose Luis Soria - Codemotion 2014 - Designing a release pipeline
Jose Luis Soria - Codemotion 2014 - Designing a release pipelineJose Luis Soria - Codemotion 2014 - Designing a release pipeline
Jose Luis Soria - Codemotion 2014 - Designing a release pipeline
 
Jose Luis Soria - XP2014 - Designing a Release Pipeline
Jose Luis Soria - XP2014 - Designing a Release PipelineJose Luis Soria - XP2014 - Designing a Release Pipeline
Jose Luis Soria - XP2014 - Designing a Release Pipeline
 
Jose Luis Soria - Microsoft Plataforma Empresarial 2014 - ALM como factor dif...
Jose Luis Soria - Microsoft Plataforma Empresarial 2014 - ALM como factor dif...Jose Luis Soria - Microsoft Plataforma Empresarial 2014 - ALM como factor dif...
Jose Luis Soria - Microsoft Plataforma Empresarial 2014 - ALM como factor dif...
 
Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous...
Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous...Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous...
Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous...
 
Proyectos ágiles con Team Foundation Server - COITT
Proyectos ágiles con Team Foundation Server - COITTProyectos ágiles con Team Foundation Server - COITT
Proyectos ágiles con Team Foundation Server - COITT
 
ALM Tour 2013 - Responderá mi aplicación en el mundo real?
ALM Tour 2013 - Responderá mi aplicación en el mundo real?ALM Tour 2013 - Responderá mi aplicación en el mundo real?
ALM Tour 2013 - Responderá mi aplicación en el mundo real?
 
ALM Tour 2013 - Proyectos bajo control - asegurando la entrega de valor
ALM Tour 2013 - Proyectos bajo control - asegurando la entrega de valorALM Tour 2013 - Proyectos bajo control - asegurando la entrega de valor
ALM Tour 2013 - Proyectos bajo control - asegurando la entrega de valor
 
ALM Tour 2013 - Entregar a tiempo y sin errores
ALM Tour 2013 - Entregar a tiempo y sin erroresALM Tour 2013 - Entregar a tiempo y sin errores
ALM Tour 2013 - Entregar a tiempo y sin errores
 
Bcn devcon jose luis soria - patterns & antipatterns for delivery
Bcn devcon   jose luis soria - patterns & antipatterns for deliveryBcn devcon   jose luis soria - patterns & antipatterns for delivery
Bcn devcon jose luis soria - patterns & antipatterns for delivery
 
Real World Agile Roadshow 2013 - Planificación y Arquitectura Ágil
Real World Agile Roadshow 2013 - Planificación y Arquitectura ÁgilReal World Agile Roadshow 2013 - Planificación y Arquitectura Ágil
Real World Agile Roadshow 2013 - Planificación y Arquitectura Ágil
 
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFSALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS
 
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
 
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOpsJose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
 
Visual Studio Tour Plain Concepts - ALM para Windows 8
Visual Studio Tour Plain Concepts - ALM para Windows 8Visual Studio Tour Plain Concepts - ALM para Windows 8
Visual Studio Tour Plain Concepts - ALM para Windows 8
 
Jose Luis Soria - CAS2012 - Cargo cult Agile training & coaching
Jose Luis Soria - CAS2012 - Cargo cult Agile training & coachingJose Luis Soria - CAS2012 - Cargo cult Agile training & coaching
Jose Luis Soria - CAS2012 - Cargo cult Agile training & coaching
 
Cargo Cult Agile training & coaching
Cargo Cult Agile training & coachingCargo Cult Agile training & coaching
Cargo Cult Agile training & coaching
 
Agile Database Development - SDC2012
Agile Database Development - SDC2012Agile Database Development - SDC2012
Agile Database Development - SDC2012
 

Ú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 (11)

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 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
 
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
 
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
 
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.
 
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...
 
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
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
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
 

12 Horas Visual Studio - Gestion de código y librerías compartidas con TFS y NuGet

  • 1. Gestión de código y librerías compartidas con TFS y NuGet Jose Luis Soria ALM Team Lead / Plain Concepts jlsoria@plainconcepts.com @jlsoriat http://geeks.ms/blogs/jlsoria Logo Empresa Ponente
  • 2. ¿Por qué preocuparnos por este tema? • Todo el mundo tiene código o librerías comunes, que necesitan ser compartidas entre varios proyectos de la organización • En muchas ocasiones, no se tiene una estrategia definida para gestionar estas dependencias Logo Empresa Ponente
  • 3. Mapeo de workspaces • Definir el mapeo del espacio de trabajo de modo que las dependencias estén disponibles para ser utilizadas Logo Empresa Ponente
  • 4. Mapeo de workspaces • Es muy simple de configurar • El código común se compila cada vez • Necesito tener el mapeo de espacios de trabajo estandarizado para todos los desarrolladores • Si se modifica el código en el proyecto común, todo el mundo recibe los cambios al bajarse la última versión Logo Empresa Ponente
  • 5. Ramas • Creamos una copia de la dependencia haciendo una rama para el proyecto que la utiliza Logo Empresa Ponente
  • 6. Ramas • Tiene trabajo de mantenimiento (combinaciones) • El código común se compila cada vez • Cada proyecto destino puede elegir la versión de la dependencia que está utilizando Logo Empresa Ponente
  • 7. Actualización de dependencias • Se tiene una copia de la dependencia (construida) subida al control de versiones, en una subcarpeta del proyecto destino • Si la dependencia es actualizada, se construye de nuevo y se actualiza la copia del proyecto destino • Se puede utilizar una costrucción automatizada para hacer la actualización de forma desatendida Logo Empresa Ponente
  • 8. Actualización de dependencias • Puede tener trabajo de mantenimiento (actualizaciones) • El código común no se compila cada vez • Cada proyecto destino puede elegir la versión de la dependencia que está utilizando Logo Empresa Ponente
  • 9. Servidor de NuGet • Se tiene un servidor de NuGet “privado” para la organización • Una construcción automatizada construye las dependencias, genera el paquete de NuGet correspondiente y lo actualiza en el servidor de NuGet Logo Empresa Ponente
  • 10. Servidor de NuGet • Trabajo de mantenimiento mínimo • El código común no se compila cada vez • Cada proyecto destino puede elegir la versión de la dependencia que está utilizando Logo Empresa Ponente
  • 11. Servidor de NuGet • Todas las ventajas de NuGet – Los ficheros necesarios se mantienen automáticamente y se pueden actualizar los ficheros de configuración – Al eliminar dependencias, los ficheros asociados también se eliminan automáticamente – Gestión de actualizaciones integrada – Se puede usar con nuget.org Logo Empresa Ponente
  • 12. Más información • NuGet: http://nuget.codeplex.com/ • NuGetter: http://nugetter.codeplex.com/ • NuGet for the Enterprise: http://bit.ly/ms3s2r jlsoria@plainconcepts.com http://geeks.ms/blogs/jlsoria @jlsoriat http://www.slideshare.net/jlsoria Logo Empresa Ponente