SlideShare una empresa de Scribd logo
1 de 30
MADRID · NOV 18-19 · 2016
Gestión de
dependencias
con tu propio
feed nuget
@lfraile
lfraile@lfraile.net
MADRID · NOV 18-19 · 2016
MADRID · NOV 18-19 · 2016
¿Por qué?
MADRID · NOV 18-19 · 2016
Por qué lo necesitamos
Reutilización de componentes
Gestión del cambio de versiones
Depuración de componentes compartidos
Asegurar la versión de nuestras dependencias
Desarrollo
Compilaciones
Entornos
MADRID · NOV 18-19 · 2016
Soluciones frecuentes
Carpetas compartidas UNC
DLL hell
Subir las librerias al repositorio
Versionado hell
Depuración hell
Repositorio hell
¿Pendrive?
No comments
MADRID · NOV 18-19 · 2016
Que aportan los paquetes NuGet
Coherencia de versiones
Gestión de dependencias
Centralización de paquetes comunes
Depuración con símbolos
Mejora de tiempos de compilación
MADRID · NOV 18-19 · 2016
¿Cuándo?
MADRID · NOV 18-19 · 2016
Referencias varios proyectos VS
Dentro de solución
Con bajo nivel modificaciones
Mejora tiempos de compilación
Facilita el trabajo en proyectos VS
MADRID · NOV 18-19 · 2016
Componentes reutilizables
Despues de estabilizar
Librerías communes en proyectos
Facilita la reutilización
Mejora el seguimiento de versionado
MADRID · NOV 18-19 · 2016
Scaffolding de estructuras
Reutilizables en distintos proyectos
Generación de estructuras communes
Facilita la estructura en proyectos similares
OJO no caer en los framework / churreras
MADRID · NOV 18-19 · 2016
Paquetes de terceros modificados
Componentes OSS modificados
También bajo nivel de modificaciones
Mejor reutilización
Minimización tiempos compilación
Facilidad en dependencias
MADRID · NOV 18-19 · 2016
Objetivos
Facilitar la división de las soluciones
Mejoras en la compilación
Entorno de desarrollo
Gestión de ciclo de dependencias
Asegurar versiones y entornos
Eliminar incertidumbre
Facilitar los procesos de kick-off
Clone/pull+ Build == success
Facilitar interdependencias entre equipos
MADRID · NOV 18-19 · 2016
Tips
Publica tus símbolos
Agrega todo lo necesario al paquete
Versionado (SemVer)
Automatiza la creación y publicación
Objetivo: facilitar la compilación “from scratch”
Referencias para desarrollo en la creación de paquetes
MADRID · NOV 18-19 · 2016
Generación de
paquetes
MADRID · NOV 18-19 · 2016
Generación .nupkg
Fichero de definición nuspec
Contiene las propiedades del paquete
Creación con nuget spec XXX.csproj
Nuget pack
Línea de commandos de generación
Directo a través de un csproj
Usando fichero nuspec
https://docs.nuget.org/Create/Creating-and-Publishing-a-Package
MADRID · NOV 18-19 · 2016
Fichero NuSpec
<?xml version="1.0"?>
<package >
<metadata>
<id>$id$</id>
<version>$version$</version>
<title>EppPlus custom</title>
<authors>$author$</authors>
<owners>$author$</owners>
<description>$description$</description>
<releaseNotes>Customized EPPPlus package.</releaseNotes>
<copyright>Copyright 2016</copyright>
<tags></tags>
</metadata>
<files>
<file src="scriptsinit.ps1" target="toolsinit.ps1" />
<file src="contentimagesayudante.jpg" target="contentimgayudante.jpg"/>
</files>
</package>
https://docs.nuget.org/create/nuspec-reference
$id$
- nombre de assembly
$version$
- AssemblyVersionAttribute /
AssemblyInformationalVersionAtt
ribute
$author$
- AssemblyCompanyAttribute.
$description$
- AssemblyDescriptionAttribute.
$configuration$
- Configuración usada en
compilación
MADRID · NOV 18-19 · 2016
Más secciones
Dependencias
Paquetes nuget
Assemblies
Framework
GAC
Dependencias en desarrollo (packages.config)
Ficheros a incluir
Imágenes
CSS
Origen y destino en instalación
MADRID · NOV 18-19 · 2016
Ejecución de acciones PowerShell
Init.ps1
Ejecución única durante instalación
Ejecución en apertura de solución
Install.ps1
Ejecución en instalación (por Proyecto)
Después de init.ps1
Uninstall.ps1
Ejecución en desinstalación
Setup
param($installPath, $toolsPath, $package, $project)
Directorio Tools
MADRID · NOV 18-19 · 2016
Creación nupkg
MADRID · NOV 18-19 · 2016
Gestión de
paquetes en
VSTS
MADRID · NOV 18-19 · 2016
Extensión de VSTS en la galería
En preview Ya disponible
Gratuita … por ahora … Gratis hasta 5 usuarios
Soporta npm
Dos tipos de feed
Privados al equipo
Públicos a todos los equipos VSTS
Totalmente integrado en VSTS
MADRID · NOV 18-19 · 2016
Creación
publicación y
consumo VSTS
MADRID · NOV 18-19 · 2016
MyGet
MADRID · NOV 18-19 · 2016
MyGet
Producto comercial
La referencia en cuanto a feeds privados
También tiene feeds públicos
Más completo que VSTS
Dispone de publicación de símbolos
MADRID · NOV 18-19 · 2016
Publicación y
consumo
MyGet
MADRID · NOV 18-19 · 2016
Depuración
MADRID · NOV 18-19 · 2016
Publicación símbolos
Por ahora solo MyGet
Generados durante la build
Parámetro -Symbols
Se publican automáticamente
Con MyGet
Con VSTS no se pueden publicar
MADRID · NOV 18-19 · 2016
Consumo de símbolos
Configuración a nivel de Visual Studio
Parámetro “Enable Just My Code”
Configuración de símbolos
Fuentes de símbolos
Caché Local de símbolos
Módulos a incluir/Excluir
F11 …
MADRID · NOV 18-19 · 2016
Depuración de
paquetes
MADRID · NOV 18-19 · 2016
Conclusiones
Gestionar los paquetes es un must-have
Facilitar compilaciones
Mejorar tiempos de builds
Mejorar la gestión de soluciones
Facilitar la gestión de dependencias
Facilitar depuración con símbolos
Evitar “DLL Hell”
MADRID · NOV 18-19 · 2016
¡¡GRACIAS!!
Luis Fraile
@lfraile
Lfraile@Lfraile.net

Más contenido relacionado

La actualidad más candente

TypeScript, ¿la solución definitiva?
TypeScript, ¿la solución definitiva?TypeScript, ¿la solución definitiva?
TypeScript, ¿la solución definitiva?Pablo Bouzada
 
Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019Micael Gallego
 
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...Micael Gallego
 
Blazor, un nuevo framework .NET
Blazor, un nuevo framework .NETBlazor, un nuevo framework .NET
Blazor, un nuevo framework .NETJonathan González
 
.NET Core 1.0 y ASP.NET Core 1.0
.NET Core 1.0 y ASP.NET Core 1.0.NET Core 1.0 y ASP.NET Core 1.0
.NET Core 1.0 y ASP.NET Core 1.0Luis Ruiz Pavón
 
Desarrollando con PHP en Windows
Desarrollando con PHP en WindowsDesarrollando con PHP en Windows
Desarrollando con PHP en WindowsAntonio Ognio
 
Uso de tecnologías modernas en joomla
Uso de tecnologías modernas en joomlaUso de tecnologías modernas en joomla
Uso de tecnologías modernas en joomlaRoberto Segura
 
Curso Angular 9 - CodeURJC - Marzo 2020
Curso Angular 9 - CodeURJC - Marzo 2020Curso Angular 9 - CodeURJC - Marzo 2020
Curso Angular 9 - CodeURJC - Marzo 2020Micael Gallego
 
Aplicaciones Web SPA con WebAPI y TypeScript
Aplicaciones Web SPA con WebAPI y TypeScriptAplicaciones Web SPA con WebAPI y TypeScript
Aplicaciones Web SPA con WebAPI y TypeScriptLuis Guerrero
 
Joomla como plataforma de eCommerce - Joomla Day La Rioja 2016
Joomla como plataforma de eCommerce - Joomla Day La Rioja 2016Joomla como plataforma de eCommerce - Joomla Day La Rioja 2016
Joomla como plataforma de eCommerce - Joomla Day La Rioja 2016Pablo Arias
 
Introducción a ASPNET vNext
Introducción a ASPNET vNextIntroducción a ASPNET vNext
Introducción a ASPNET vNextJulito Avellaneda
 
Hack2Progress - Consejos para afrontar un Hackathon
Hack2Progress - Consejos para afrontar un HackathonHack2Progress - Consejos para afrontar un Hackathon
Hack2Progress - Consejos para afrontar un HackathonCarlos Azaustre
 
Software libre para videoconferencias
Software libre para videoconferenciasSoftware libre para videoconferencias
Software libre para videoconferenciasMicael Gallego
 
.NET Core General - Globant Tech Insiders .Net
.NET Core General - Globant Tech Insiders .Net.NET Core General - Globant Tech Insiders .Net
.NET Core General - Globant Tech Insiders .NetGlobant
 
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015
Mejorando la productividad en proyectos java EE con  CI y CD - OTN 2015 Mejorando la productividad en proyectos java EE con  CI y CD - OTN 2015
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015 César Hernández
 
Grails: Aumenta tu productividad en tus aplicaciones web Java
Grails: Aumenta tu productividad en tus aplicaciones web JavaGrails: Aumenta tu productividad en tus aplicaciones web Java
Grails: Aumenta tu productividad en tus aplicaciones web JavaDani Latorre
 

La actualidad más candente (20)

TypeScript, ¿la solución definitiva?
TypeScript, ¿la solución definitiva?TypeScript, ¿la solución definitiva?
TypeScript, ¿la solución definitiva?
 
Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019
 
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...
 
Blazor, un nuevo framework .NET
Blazor, un nuevo framework .NETBlazor, un nuevo framework .NET
Blazor, un nuevo framework .NET
 
Introducción a WPF
Introducción a WPFIntroducción a WPF
Introducción a WPF
 
.NET Core 1.0 y ASP.NET Core 1.0
.NET Core 1.0 y ASP.NET Core 1.0.NET Core 1.0 y ASP.NET Core 1.0
.NET Core 1.0 y ASP.NET Core 1.0
 
Desarrollando con PHP en Windows
Desarrollando con PHP en WindowsDesarrollando con PHP en Windows
Desarrollando con PHP en Windows
 
Uso de tecnologías modernas en joomla
Uso de tecnologías modernas en joomlaUso de tecnologías modernas en joomla
Uso de tecnologías modernas en joomla
 
Curso Angular 9 - CodeURJC - Marzo 2020
Curso Angular 9 - CodeURJC - Marzo 2020Curso Angular 9 - CodeURJC - Marzo 2020
Curso Angular 9 - CodeURJC - Marzo 2020
 
Aplicaciones Web SPA con WebAPI y TypeScript
Aplicaciones Web SPA con WebAPI y TypeScriptAplicaciones Web SPA con WebAPI y TypeScript
Aplicaciones Web SPA con WebAPI y TypeScript
 
Joomla como plataforma de eCommerce - Joomla Day La Rioja 2016
Joomla como plataforma de eCommerce - Joomla Day La Rioja 2016Joomla como plataforma de eCommerce - Joomla Day La Rioja 2016
Joomla como plataforma de eCommerce - Joomla Day La Rioja 2016
 
Introducción a ASPNET vNext
Introducción a ASPNET vNextIntroducción a ASPNET vNext
Introducción a ASPNET vNext
 
Hack2Progress - Consejos para afrontar un Hackathon
Hack2Progress - Consejos para afrontar un HackathonHack2Progress - Consejos para afrontar un Hackathon
Hack2Progress - Consejos para afrontar un Hackathon
 
Visual studio codespaces + azure devops
Visual studio codespaces + azure devopsVisual studio codespaces + azure devops
Visual studio codespaces + azure devops
 
Software libre para videoconferencias
Software libre para videoconferenciasSoftware libre para videoconferencias
Software libre para videoconferencias
 
Python gui-mvc-pyqt
Python gui-mvc-pyqtPython gui-mvc-pyqt
Python gui-mvc-pyqt
 
.NET Core General - Globant Tech Insiders .Net
.NET Core General - Globant Tech Insiders .Net.NET Core General - Globant Tech Insiders .Net
.NET Core General - Globant Tech Insiders .Net
 
.NET Core
.NET Core.NET Core
.NET Core
 
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015
Mejorando la productividad en proyectos java EE con  CI y CD - OTN 2015 Mejorando la productividad en proyectos java EE con  CI y CD - OTN 2015
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015
 
Grails: Aumenta tu productividad en tus aplicaciones web Java
Grails: Aumenta tu productividad en tus aplicaciones web JavaGrails: Aumenta tu productividad en tus aplicaciones web Java
Grails: Aumenta tu productividad en tus aplicaciones web Java
 

Similar a Gestiona tus dependencias con NuGet, VSTs y MyGet

Gestion paquetes NuGet con Visual Studio Team Services y MyGet
Gestion paquetes NuGet con Visual Studio Team Services y MyGetGestion paquetes NuGet con Visual Studio Team Services y MyGet
Gestion paquetes NuGet con Visual Studio Team Services y MyGetLuis Fraile
 
Sql server 2016 novedades para desarrolladores
Sql server 2016 novedades para desarrolladoresSql server 2016 novedades para desarrolladores
Sql server 2016 novedades para desarrolladoresEnrique Catala Bañuls
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a DockerOpen Canarias
 
Asp.Net Core 1.0 Deep Dive
Asp.Net Core 1.0 Deep DiveAsp.Net Core 1.0 Deep Dive
Asp.Net Core 1.0 Deep DiveEduard Tomàs
 
Asp.net 5 en linux y mac, herramientas e integración
Asp.net 5 en linux y mac, herramientas e integraciónAsp.net 5 en linux y mac, herramientas e integración
Asp.net 5 en linux y mac, herramientas e integraciónrobertogg
 
Commit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningCommit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningRafa Hidalgo
 
SPS Madrid 2019 - Eleva tu aplicaciones de PowerApps a otro nivel
SPS Madrid 2019 - Eleva tu aplicaciones de PowerApps a otro nivelSPS Madrid 2019 - Eleva tu aplicaciones de PowerApps a otro nivel
SPS Madrid 2019 - Eleva tu aplicaciones de PowerApps a otro nivelImanol Iza Martin
 
ASP.NET vNext... Desarrollo cross platform
ASP.NET vNext... Desarrollo cross platformASP.NET vNext... Desarrollo cross platform
ASP.NET vNext... Desarrollo cross platformEduard Tomàs
 
Guía de Introducción a MAXQDA (Investigación Cualitativa)
Guía de Introducción a MAXQDA (Investigación Cualitativa)Guía de Introducción a MAXQDA (Investigación Cualitativa)
Guía de Introducción a MAXQDA (Investigación Cualitativa)lucmelo
 
Ez platform-meetup-madrid-march-2018
Ez platform-meetup-madrid-march-2018Ez platform-meetup-madrid-march-2018
Ez platform-meetup-madrid-march-2018crevillo
 
Application Insight + stream analytics + Power BI
Application Insight + stream analytics + Power BIApplication Insight + stream analytics + Power BI
Application Insight + stream analytics + Power BI[T]echdencias
 
Asp.Net vNext - La revolución que viene
Asp.Net vNext - La revolución que vieneAsp.Net vNext - La revolución que viene
Asp.Net vNext - La revolución que vieneEduard Tomàs
 

Similar a Gestiona tus dependencias con NuGet, VSTs y MyGet (20)

Gestion paquetes NuGet con Visual Studio Team Services y MyGet
Gestion paquetes NuGet con Visual Studio Team Services y MyGetGestion paquetes NuGet con Visual Studio Team Services y MyGet
Gestion paquetes NuGet con Visual Studio Team Services y MyGet
 
Sql server 2016 novedades para desarrolladores
Sql server 2016 novedades para desarrolladoresSql server 2016 novedades para desarrolladores
Sql server 2016 novedades para desarrolladores
 
Docker4developers Codemotion2016
Docker4developers Codemotion2016Docker4developers Codemotion2016
Docker4developers Codemotion2016
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
 
Dc salad
Dc saladDc salad
Dc salad
 
Asp.Net Core 1.0 Deep Dive
Asp.Net Core 1.0 Deep DiveAsp.Net Core 1.0 Deep Dive
Asp.Net Core 1.0 Deep Dive
 
Asp.net 5 en linux y mac, herramientas e integración
Asp.net 5 en linux y mac, herramientas e integraciónAsp.net 5 en linux y mac, herramientas e integración
Asp.net 5 en linux y mac, herramientas e integración
 
Commit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningCommit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine Learning
 
Semana 2 Configuración entorno de desarrollo
Semana 2   Configuración entorno de desarrolloSemana 2   Configuración entorno de desarrollo
Semana 2 Configuración entorno de desarrollo
 
SPS Madrid 2019 - Eleva tu aplicaciones de PowerApps a otro nivel
SPS Madrid 2019 - Eleva tu aplicaciones de PowerApps a otro nivelSPS Madrid 2019 - Eleva tu aplicaciones de PowerApps a otro nivel
SPS Madrid 2019 - Eleva tu aplicaciones de PowerApps a otro nivel
 
ASP.NET vNext... Desarrollo cross platform
ASP.NET vNext... Desarrollo cross platformASP.NET vNext... Desarrollo cross platform
ASP.NET vNext... Desarrollo cross platform
 
Guía de Introducción a MAXQDA (Investigación Cualitativa)
Guía de Introducción a MAXQDA (Investigación Cualitativa)Guía de Introducción a MAXQDA (Investigación Cualitativa)
Guía de Introducción a MAXQDA (Investigación Cualitativa)
 
Ez platform-meetup-madrid-march-2018
Ez platform-meetup-madrid-march-2018Ez platform-meetup-madrid-march-2018
Ez platform-meetup-madrid-march-2018
 
Application Insight + stream analytics + Power BI
Application Insight + stream analytics + Power BIApplication Insight + stream analytics + Power BI
Application Insight + stream analytics + Power BI
 
Drupal y rails. Nuestra experiencia
Drupal y rails. Nuestra experienciaDrupal y rails. Nuestra experiencia
Drupal y rails. Nuestra experiencia
 
Overview atlas (1)
Overview atlas (1)Overview atlas (1)
Overview atlas (1)
 
Overview atlas (1)
Overview atlas (1)Overview atlas (1)
Overview atlas (1)
 
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
 
Atica Dev Ops II
Atica Dev Ops IIAtica Dev Ops II
Atica Dev Ops II
 
Asp.Net vNext - La revolución que viene
Asp.Net vNext - La revolución que vieneAsp.Net vNext - La revolución que viene
Asp.Net vNext - La revolución que viene
 

Más de Luis Fraile

Code Security with GitHub Advanced Security
Code Security with GitHub Advanced SecurityCode Security with GitHub Advanced Security
Code Security with GitHub Advanced SecurityLuis Fraile
 
GitHub Codespacescon .NET Core
GitHub Codespacescon .NET CoreGitHub Codespacescon .NET Core
GitHub Codespacescon .NET CoreLuis Fraile
 
Bilbostack 2020 - El camino de l a entrega en DevOps
Bilbostack 2020 - El camino de l a entrega en DevOpsBilbostack 2020 - El camino de l a entrega en DevOps
Bilbostack 2020 - El camino de l a entrega en DevOpsLuis Fraile
 
Un ciclo "casi" completo on Azure DevOps
Un ciclo "casi" completo on Azure DevOpsUn ciclo "casi" completo on Azure DevOps
Un ciclo "casi" completo on Azure DevOpsLuis Fraile
 
Cultura DevOps - Conferencia Agile Spain 2017
Cultura DevOps - Conferencia Agile Spain 2017Cultura DevOps - Conferencia Agile Spain 2017
Cultura DevOps - Conferencia Agile Spain 2017Luis Fraile
 
DevOps con Visual Studio Team Services
DevOps con Visual Studio Team ServicesDevOps con Visual Studio Team Services
DevOps con Visual Studio Team ServicesLuis Fraile
 
Validando la escalabilidad de la arquitectura
Validando la escalabilidad de la arquitecturaValidando la escalabilidad de la arquitectura
Validando la escalabilidad de la arquitecturaLuis Fraile
 
ALM la parte olvidada de la arquitectura
ALM la parte olvidada de la arquitecturaALM la parte olvidada de la arquitectura
ALM la parte olvidada de la arquitecturaLuis Fraile
 
Exploratory testing myths Romanian Testing Conference 2014
Exploratory testing myths Romanian Testing Conference 2014Exploratory testing myths Romanian Testing Conference 2014
Exploratory testing myths Romanian Testing Conference 2014Luis Fraile
 
[ALM09] Calidad en el código con Visual Studio 2010
[ALM09] Calidad en el código con Visual Studio 2010[ALM09] Calidad en el código con Visual Studio 2010
[ALM09] Calidad en el código con Visual Studio 2010Luis Fraile
 
[ALM09] Integración continua en entornos .NET y Java con TFS 2010 y TFS 2008
[ALM09] Integración continua en entornos .NET y Java con TFS 2010 y TFS 2008[ALM09] Integración continua en entornos .NET y Java con TFS 2010 y TFS 2008
[ALM09] Integración continua en entornos .NET y Java con TFS 2010 y TFS 2008Luis Fraile
 
Team Foundation Server Build 2010
Team Foundation Server Build 2010Team Foundation Server Build 2010
Team Foundation Server Build 2010Luis Fraile
 

Más de Luis Fraile (12)

Code Security with GitHub Advanced Security
Code Security with GitHub Advanced SecurityCode Security with GitHub Advanced Security
Code Security with GitHub Advanced Security
 
GitHub Codespacescon .NET Core
GitHub Codespacescon .NET CoreGitHub Codespacescon .NET Core
GitHub Codespacescon .NET Core
 
Bilbostack 2020 - El camino de l a entrega en DevOps
Bilbostack 2020 - El camino de l a entrega en DevOpsBilbostack 2020 - El camino de l a entrega en DevOps
Bilbostack 2020 - El camino de l a entrega en DevOps
 
Un ciclo "casi" completo on Azure DevOps
Un ciclo "casi" completo on Azure DevOpsUn ciclo "casi" completo on Azure DevOps
Un ciclo "casi" completo on Azure DevOps
 
Cultura DevOps - Conferencia Agile Spain 2017
Cultura DevOps - Conferencia Agile Spain 2017Cultura DevOps - Conferencia Agile Spain 2017
Cultura DevOps - Conferencia Agile Spain 2017
 
DevOps con Visual Studio Team Services
DevOps con Visual Studio Team ServicesDevOps con Visual Studio Team Services
DevOps con Visual Studio Team Services
 
Validando la escalabilidad de la arquitectura
Validando la escalabilidad de la arquitecturaValidando la escalabilidad de la arquitectura
Validando la escalabilidad de la arquitectura
 
ALM la parte olvidada de la arquitectura
ALM la parte olvidada de la arquitecturaALM la parte olvidada de la arquitectura
ALM la parte olvidada de la arquitectura
 
Exploratory testing myths Romanian Testing Conference 2014
Exploratory testing myths Romanian Testing Conference 2014Exploratory testing myths Romanian Testing Conference 2014
Exploratory testing myths Romanian Testing Conference 2014
 
[ALM09] Calidad en el código con Visual Studio 2010
[ALM09] Calidad en el código con Visual Studio 2010[ALM09] Calidad en el código con Visual Studio 2010
[ALM09] Calidad en el código con Visual Studio 2010
 
[ALM09] Integración continua en entornos .NET y Java con TFS 2010 y TFS 2008
[ALM09] Integración continua en entornos .NET y Java con TFS 2010 y TFS 2008[ALM09] Integración continua en entornos .NET y Java con TFS 2010 y TFS 2008
[ALM09] Integración continua en entornos .NET y Java con TFS 2010 y TFS 2008
 
Team Foundation Server Build 2010
Team Foundation Server Build 2010Team Foundation Server Build 2010
Team Foundation Server Build 2010
 

Último

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 

Último (19)

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

Gestiona tus dependencias con NuGet, VSTs y MyGet

  • 1. MADRID · NOV 18-19 · 2016 Gestión de dependencias con tu propio feed nuget @lfraile lfraile@lfraile.net MADRID · NOV 18-19 · 2016
  • 2. MADRID · NOV 18-19 · 2016 ¿Por qué?
  • 3. MADRID · NOV 18-19 · 2016 Por qué lo necesitamos Reutilización de componentes Gestión del cambio de versiones Depuración de componentes compartidos Asegurar la versión de nuestras dependencias Desarrollo Compilaciones Entornos
  • 4. MADRID · NOV 18-19 · 2016 Soluciones frecuentes Carpetas compartidas UNC DLL hell Subir las librerias al repositorio Versionado hell Depuración hell Repositorio hell ¿Pendrive? No comments
  • 5. MADRID · NOV 18-19 · 2016 Que aportan los paquetes NuGet Coherencia de versiones Gestión de dependencias Centralización de paquetes comunes Depuración con símbolos Mejora de tiempos de compilación
  • 6. MADRID · NOV 18-19 · 2016 ¿Cuándo?
  • 7. MADRID · NOV 18-19 · 2016 Referencias varios proyectos VS Dentro de solución Con bajo nivel modificaciones Mejora tiempos de compilación Facilita el trabajo en proyectos VS
  • 8. MADRID · NOV 18-19 · 2016 Componentes reutilizables Despues de estabilizar Librerías communes en proyectos Facilita la reutilización Mejora el seguimiento de versionado
  • 9. MADRID · NOV 18-19 · 2016 Scaffolding de estructuras Reutilizables en distintos proyectos Generación de estructuras communes Facilita la estructura en proyectos similares OJO no caer en los framework / churreras
  • 10. MADRID · NOV 18-19 · 2016 Paquetes de terceros modificados Componentes OSS modificados También bajo nivel de modificaciones Mejor reutilización Minimización tiempos compilación Facilidad en dependencias
  • 11. MADRID · NOV 18-19 · 2016 Objetivos Facilitar la división de las soluciones Mejoras en la compilación Entorno de desarrollo Gestión de ciclo de dependencias Asegurar versiones y entornos Eliminar incertidumbre Facilitar los procesos de kick-off Clone/pull+ Build == success Facilitar interdependencias entre equipos
  • 12. MADRID · NOV 18-19 · 2016 Tips Publica tus símbolos Agrega todo lo necesario al paquete Versionado (SemVer) Automatiza la creación y publicación Objetivo: facilitar la compilación “from scratch” Referencias para desarrollo en la creación de paquetes
  • 13. MADRID · NOV 18-19 · 2016 Generación de paquetes
  • 14. MADRID · NOV 18-19 · 2016 Generación .nupkg Fichero de definición nuspec Contiene las propiedades del paquete Creación con nuget spec XXX.csproj Nuget pack Línea de commandos de generación Directo a través de un csproj Usando fichero nuspec https://docs.nuget.org/Create/Creating-and-Publishing-a-Package
  • 15. MADRID · NOV 18-19 · 2016 Fichero NuSpec <?xml version="1.0"?> <package > <metadata> <id>$id$</id> <version>$version$</version> <title>EppPlus custom</title> <authors>$author$</authors> <owners>$author$</owners> <description>$description$</description> <releaseNotes>Customized EPPPlus package.</releaseNotes> <copyright>Copyright 2016</copyright> <tags></tags> </metadata> <files> <file src="scriptsinit.ps1" target="toolsinit.ps1" /> <file src="contentimagesayudante.jpg" target="contentimgayudante.jpg"/> </files> </package> https://docs.nuget.org/create/nuspec-reference $id$ - nombre de assembly $version$ - AssemblyVersionAttribute / AssemblyInformationalVersionAtt ribute $author$ - AssemblyCompanyAttribute. $description$ - AssemblyDescriptionAttribute. $configuration$ - Configuración usada en compilación
  • 16. MADRID · NOV 18-19 · 2016 Más secciones Dependencias Paquetes nuget Assemblies Framework GAC Dependencias en desarrollo (packages.config) Ficheros a incluir Imágenes CSS Origen y destino en instalación
  • 17. MADRID · NOV 18-19 · 2016 Ejecución de acciones PowerShell Init.ps1 Ejecución única durante instalación Ejecución en apertura de solución Install.ps1 Ejecución en instalación (por Proyecto) Después de init.ps1 Uninstall.ps1 Ejecución en desinstalación Setup param($installPath, $toolsPath, $package, $project) Directorio Tools
  • 18. MADRID · NOV 18-19 · 2016 Creación nupkg
  • 19. MADRID · NOV 18-19 · 2016 Gestión de paquetes en VSTS
  • 20. MADRID · NOV 18-19 · 2016 Extensión de VSTS en la galería En preview Ya disponible Gratuita … por ahora … Gratis hasta 5 usuarios Soporta npm Dos tipos de feed Privados al equipo Públicos a todos los equipos VSTS Totalmente integrado en VSTS
  • 21. MADRID · NOV 18-19 · 2016 Creación publicación y consumo VSTS
  • 22. MADRID · NOV 18-19 · 2016 MyGet
  • 23. MADRID · NOV 18-19 · 2016 MyGet Producto comercial La referencia en cuanto a feeds privados También tiene feeds públicos Más completo que VSTS Dispone de publicación de símbolos
  • 24. MADRID · NOV 18-19 · 2016 Publicación y consumo MyGet
  • 25. MADRID · NOV 18-19 · 2016 Depuración
  • 26. MADRID · NOV 18-19 · 2016 Publicación símbolos Por ahora solo MyGet Generados durante la build Parámetro -Symbols Se publican automáticamente Con MyGet Con VSTS no se pueden publicar
  • 27. MADRID · NOV 18-19 · 2016 Consumo de símbolos Configuración a nivel de Visual Studio Parámetro “Enable Just My Code” Configuración de símbolos Fuentes de símbolos Caché Local de símbolos Módulos a incluir/Excluir F11 …
  • 28. MADRID · NOV 18-19 · 2016 Depuración de paquetes
  • 29. MADRID · NOV 18-19 · 2016 Conclusiones Gestionar los paquetes es un must-have Facilitar compilaciones Mejorar tiempos de builds Mejorar la gestión de soluciones Facilitar la gestión de dependencias Facilitar depuración con símbolos Evitar “DLL Hell”
  • 30. MADRID · NOV 18-19 · 2016 ¡¡GRACIAS!! Luis Fraile @lfraile Lfraile@Lfraile.net