30
MADRID · NOV 18-19 · 2016 Gestión de dependencias con tu propio feed nuget @lfraile [email protected] MADRID · NOV 18-19 · 2016

Gestiona tus dependencias con NuGet, VSTs y MyGet

Embed Size (px)

Citation preview

Talk title by @chucknorris

Gestin de dependencias con tu propio feed nuget @[email protected] NOV 18-19 2016

MADRID NOV 18-19 2016

Por qu?

MADRID NOV 18-19 2016Por qu lo necesitamosReutilizacin de componentesGestin del cambio de versionesDepuracin de componentes compartidosAsegurar la versin de nuestras dependenciasDesarrolloCompilacionesEntornos

MADRID NOV 18-19 2016Soluciones frecuentesCarpetas compartidas UNCDLL hellSubir las librerias al repositorioVersionado hellDepuracin hellRepositorio hellPendrive?No comments

MADRID NOV 18-19 2016Que aportan los paquetes NuGetCoherencia de versionesGestin de dependenciasCentralizacin de paquetes comunesDepuracin con smbolosMejora de tiempos de compilacin

MADRID NOV 18-19 2016

Cundo?

MADRID NOV 18-19 2016Referencias varios proyectos VSDentro de solucinCon bajo nivel modificaciones

Mejora tiempos de compilacinFacilita el trabajo en proyectos VS

MADRID NOV 18-19 2016Componentes reutilizablesDespues de estabilizarLibreras communes en proyectos

Facilita la reutilizacinMejora el seguimiento de versionado

MADRID NOV 18-19 2016Scaffolding de estructurasReutilizables en distintos proyectosGeneracin de estructuras communes

Facilita la estructura en proyectos similaresOJO no caer en los framework / churreras

MADRID NOV 18-19 2016Paquetes de terceros modificadosComponentes OSS modificadosTambin bajo nivel de modificaciones

Mejor reutilizacinMinimizacin tiempos compilacinFacilidad en dependencias

MADRID NOV 18-19 2016ObjetivosFacilitar la divisin de las solucionesMejoras en la compilacinEntorno de desarrolloGestin de ciclo de dependenciasAsegurar versiones y entornosEliminar incertidumbreFacilitar los procesos de kick-offClone/pull+ Build == successFacilitar interdependencias entre equipos

MADRID NOV 18-19 2016TipsPublica tus smbolosAgrega todo lo necesario al paqueteVersionado (SemVer)Automatiza la creacin y publicacinObjetivo: facilitar la compilacin from scratchReferencias para desarrollo en la creacin de paquetes

MADRID NOV 18-19 2016Generacin de paquetes

MADRID NOV 18-19 2016Generacin .nupkgFichero de definicin nuspecContiene las propiedades del paqueteCreacin con nuget spec XXX.csprojNuget packLnea de commandos de generacinDirecto a travs de un csprojUsando fichero nuspechttps://docs.nuget.org/Create/Creating-and-Publishing-a-Package

MADRID NOV 18-19 2016Fichero NuSpec

$id$ $version$ EppPlus custom $author$ $author$ $description$ Customized EPPPlus package. Copyright 2016

https://docs.nuget.org/create/nuspec-reference $id$- nombre de assembly$version$- AssemblyVersionAttribute / AssemblyInformationalVersionAttribute$author$- AssemblyCompanyAttribute.$description$- AssemblyDescriptionAttribute.$configuration$- Configuracin usada en compilacin

MADRID NOV 18-19 2016Ms seccionesDependenciasPaquetes nugetAssembliesFrameworkGACDependencias en desarrollo (packages.config)Ficheros a incluirImgenesCSSOrigen y destino en instalacin

MADRID NOV 18-19 2016Ejecucin de acciones PowerShellInit.ps1 Ejecucin nica durante instalacinEjecucin en apertura de solucinInstall.ps1Ejecucin en instalacin (por Proyecto)Despus de init.ps1Uninstall.ps1Ejecucin en desinstalacinSetupparam($installPath, $toolsPath, $package, $project)Directorio Tools

MADRID NOV 18-19 2016Creacin nupkg

MADRID NOV 18-19 2016

Gestin de paquetes en VSTS

MADRID NOV 18-19 2016Extensin de VSTS en la galeraEn preview Ya disponibleGratuita por ahora Gratis hasta 5 usuariosSoporta npmDos tipos de feedPrivados al equipoPblicos a todos los equipos VSTSTotalmente integrado en VSTS

MADRID NOV 18-19 2016Creacin publicacin yconsumo VSTS

MADRID NOV 18-19 2016

MyGet

MADRID NOV 18-19 2016MyGetProducto comercialLa referencia en cuanto a feeds privadosTambin tiene feeds pblicosMs completo que VSTSDispone de publicacin de smbolos

MADRID NOV 18-19 2016Publicacin y consumo MyGet

MADRID NOV 18-19 2016Depuracin

MADRID NOV 18-19 2016Publicacin smbolosPor ahora solo MyGetGenerados durante la buildParmetro -SymbolsSe publican automticamenteCon MyGetCon VSTS no se pueden publicar

MADRID NOV 18-19 2016Consumo de smbolosConfiguracin a nivel de Visual StudioParmetro Enable Just My CodeConfiguracin de smbolosFuentes de smbolosCach Local de smbolosMdulos a incluir/ExcluirF11

MADRID NOV 18-19 2016Depuracin de paquetes

MADRID NOV 18-19 2016ConclusionesGestionar los paquetes es un must-haveFacilitar compilacionesMejorar tiempos de buildsMejorar la gestin de solucionesFacilitar la gestin de dependenciasFacilitar depuracin con smbolosEvitar DLL Hell

MADRID NOV 18-19 2016GRACIAS!!Luis Fraile@[email protected]

MADRID NOV 18-19 2016