Organize your chickens: NuGet for the enterprise

Maarten Balliauw
Maarten BalliauwDeveloper Advocate
Organize your chickens,[object Object],NuGet for the Enterprise,[object Object]
Who are we?,[object Object],Maarten Balliauw,[object Object],Antwerp, Belgium,[object Object],www.realdolmen.com,[object Object],Focus on web,[object Object],ASP.NET, ASP.NET MVC, PHP, Azure, …,[object Object],MVP Windows Azure (formerly ASP.NET),[object Object],http://blog.maartenballiauw.be,[object Object],@maartenballiauw,[object Object]
Who are we?,[object Object],Xavier Decoster,[object Object],Antwerp, Belgium,[object Object],www.realdolmen.com,[object Object],Focus on web/ALM,[object Object],Visual Studio, TFS, Scrum, ...,[object Object],Silverlight, ASP.NET, ASP.NET MVC, …,[object Object],http://www.xavierdecoster.com,[object Object],@xavierdecoster,[object Object]
Agenda,[object Object],Chickens?,[object Object],NuGet,[object Object],Scenarios,[object Object],Host your own NuGet repository,[object Object],Continuous (Package) Integration,[object Object],(Ab)usingNuGet,[object Object],Conclusion,[object Object]
Welcome to Dll Hell,[object Object],Dependency Hell,[object Object]
WelcometoDependency Hell,[object Object],“A term for the frustrationof software users who have installedsoftware packageswhich have  dependencieson specificversionsof other software packages.”,[object Object],Source: Wikipedia,[object Object]
Causeand Effect,[object Object],Reinventing the wheel,[object Object],We don’tneedthatdependency,[object Object],“If they can do it, we can do it, but better”,[object Object],Marketing does the versioning,[object Object],People are waitingfor v2 tobuy,[object Object],Let’s call it v4 Platform Update SP3 November Edition KB2348063 RTW Refresh,[object Object], Whathappenedtoreuse of components?,[object Object], We lost ownership of AssemblyVersion ?,[object Object]
Package Management,[object Object],Using NuGet,[object Object]
Package Management,[object Object],NuGet to the Rescue!,[object Object],“NuGet is a Visual Studio extension that makes it easy to install and update open source libraries and tools in Visual Studio.”,[object Object]
Package What?,[object Object],Package Management,[object Object],Simple concept,[object Object],Find Packages,[object Object],(Re)Use Packages,[object Object],Produce Packages,[object Object],“…a collection of software tools to automate the process of installing, upgrading, configuring, and removingsoftware packages…”,[object Object],Wikipedia,[object Object]
GettingStarted,[object Object],Tooling:,[object Object],NuGet Package Manager (http://nuget.org),[object Object],NuGet Package Explorer (http://npe.codeplex.com),[object Object],Install-Package NuGetPowerTools,[object Object],Install-Package NuGet.CommandLine,[object Object],Guidanceanddocumentation,[object Object],http://docs.nuget.org,[object Object]
Consuming Packages,[object Object],Simple as adding a reference,[object Object]
Onedialogtorulethemall…,[object Object],Install-Package,[object Object],Update-Package,[object Object],Uninstall-Package,[object Object],Settings,[object Object],Package Sources,[object Object],Local (offline) Cache location,[object Object],Also: Manage packages on solution level!,[object Object],Right-click solution > Manage NuGet Packages…,[object Object]
NuGet Package Manager Console,[object Object],PowerShellenabled!,[object Object],Extensible!,[object Object],Scaffolding, NuGetPowerTools, …,[object Object],%UserProfile%ocumentsindowsPowerShelluGet_profile.ps1,[object Object]
Configurable Package Sources,[object Object],Configurablethrough…,[object Object],NuGet Library Package Manager (VS add-in),[object Object],NuGet.config (in %APPDATA%oaminguGetuGet.config),[object Object],NuGet.settings.targets (MSBUILD file part of NuGetPowerTools),[object Object]
Creating Packages,[object Object],What’s a package?,[object Object],Just a zip-filecontaining:,[object Object],… content and source code (tobeinjectedinto target project),[object Object],… PowerShell scripts andexecutables,[object Object],… configuration file and source code transformations,[object Object],http://docs.nuget.org/docs/creating-packages/Configuration-File-and-Source-Code-Transformations,[object Object]
Package Conventions,[object Object],Conventions,[object Object],http://docs.nuget.org/docs/creating-packages/Package-Conventions,[object Object],Folder structure,[object Object],Tools (init.ps1, install.ps1, uninstall.ps1),[object Object],Content,[object Object],Manifest (.nuspec file),[object Object],Lib,[object Object]
NuGet Manifest Specification,[object Object],NuSpec manifest,[object Object],XML file (with XSD available),[object Object],Package metadata,[object Object]
Semantic Versioning,[object Object],Think about your versioning! (semver.org),[object Object],Always specifylowerbound,[object Object],Use a version range (lowerbound + upperbound) whenversioning of package youdepend on is messed up,[object Object]
Advanced usage scenarios,[object Object],Host your own NuGet repository,[object Object],Continuous (Package) Integration,[object Object],(Ab)using NuGet,[object Object]
Hosting your own repository,[object Object],Those chickens are mine!,[object Object]
Hosting your own repository,[object Object],NuGet = public feed,[object Object],Privacy,[object Object],Intellectual property,[object Object],NuGet maintained by package authors,[object Object],Author removes v1.0.45 and you depend on it,[object Object]
Solutions,[object Object],Folder / File share,[object Object],Orchard Gallery (or NuGet Gallery),[object Object],NuGet.Server package,[object Object],MyGet,[object Object]
NuGet.Server Demo,[object Object],Install-Package NuGet.Server,[object Object]
NuGet.Serverlimitations,[object Object],Only 1 feed per installation,[object Object],No UI: up toyoutobuildit,[object Object],No granular security: only 1 API-keyforentire feed,[object Object],Conclusion: requiresyoutodevelopifyou want something more useful,[object Object]
Meet MyGet,[object Object],www.myget.org,[object Object],NaaS,[object Object],Register and off you go! (no dev),[object Object],Supports Enterprise scenarios,[object Object],Granular security,[object Object],Package mirroring,[object Object]
MyGet Demo,[object Object],Log in to www.myget.org and get started,[object Object]
Continuous (Package) Integration,[object Object],Fetch the chickens when you need them,[object Object]
Typical source control...,[object Object],Contains /References (if you are lucky),[object Object],...and also Project/_bin_deployable_assemblies,[object Object],...and also /References/old,[object Object],...and also /..././../.././References,[object Object],Usually references GAC-ed assemblies,[object Object]
Dependencies,[object Object],Software has dependencies. Deal with it.,[object Object],But are those YOUR intellectual property?,[object Object],YOUR reason to build software?,[object Object],YOUR product?,[object Object],No. They are dependencies. And they don’t belong in source control.,[object Object]
Continuous (Package) Integration,[object Object],Can I get rid of all these referencedassembliesduplicatedall-over my source control system?,[object Object],[object Object],Do I needtoinstallandmaintainNuGet on allmybuildagents?,[object Object],[object Object],[object Object]
3rd partiesdon’tbelong in your SCM,[object Object],Source control bloatedwiththird-party binaries?,[object Object],Replacethem with NuGet packages,[object Object],Commitpackages.config/repositories.config files,[object Object],Preferablynot the packages,[object Object],Use NuGetPowerTools,[object Object],Enable-PackageRestore,[object Object]
Problem!,[object Object],NuGet feed is subject to change...,[object Object],PackageSourceMSBuild property to the rescue,[object Object],NuGet.settings.targets in $(SolutionDir)nuget folder,[object Object],Nowwhat...,[object Object],Host yourown feed andmirrorthird-party packages,[object Object],InternalNuGet.Server,[object Object],Network Share,[object Object],Or useMyGetforthat,[object Object]
Organizeyourchickens,[object Object],Feed structuring,[object Object],Scopedbyquality: Build, QA, Production, …,[object Object],Scopedbyaudience: public, restricted access,[object Object],Other: ,[object Object],Scopedby product version, milestone…,[object Object],Scopedby target platform,[object Object]
(Ab)using NuGet,[object Object]
Guidance,[object Object],Publishing a package bringsgreatresponsibility,[object Object],Breakingchanges in your packages shouldbeversionedaccordingly!,[object Object],Consumersmightchooseto no longerconsumeany packages youpublished,[object Object]
Guidance,[object Object],Package Integration ≠ Integration Testing,[object Object],CI buildsreflect output of source control input,[object Object],Same input alwaysproducessame output,[object Object],Do not auto-update packages duringautomatedbuilds!,[object Object]
Organize your chickens: NuGet for the enterprise
(Ab)using NuGet?,[object Object],Change of perspective,[object Object],NuGet as a package manager,[object Object],NuGet as a protocol for distributing packages,[object Object]
ExtendingNuGet,[object Object],Scaffolding, CmdLets, Plug-ins, …,[object Object]
Scaffolding,[object Object],T4, Mvc, …,[object Object],CreateyourownPowerShellcmdlets,[object Object],Automate Visual Studio (access to DTE),[object Object]
Automate deployments,[object Object],Build results in .nupkg,[object Object],Octopus deploys to its tentacles,[object Object],Test tentacles,[object Object],Staging tentacles,[object Object],Production tentacles,[object Object],www.octopusdeploy.com,[object Object]
Organize your chickens: NuGet for the enterprise
NuGet command line plug-ins,[object Object],Extend NuGet.exe,[object Object],Custom Commands,[object Object],How?,[object Object],Build class library,[object Object],Reference NuGet.exe,[object Object],Inherit Command,[object Object],Deploy your dll to %LocalAppData%uGetommands,[object Object]
Chocolatey,[object Object],NuGet,[object Object],developer library packages,[object Object],Chocolatey,[object Object],applications and tools packager,[object Object],“yum” or “apt-get” for Windows,[object Object],www.chocolatey.org,[object Object]
Chocolatey Demo,[object Object],NuGet desert,[object Object]
Orchard / WebMatrix / …,[object Object],NuGetnotboundto VS,[object Object],Orchard CMS: modules & themes,[object Object],WebMatrix: install page helpers on the fly,[object Object],Yourapp: offer pluginsthrough a repo,[object Object]
Conclusion,[object Object]
Dependencies & people are chickens,[object Object],[object Object],Set up your own NuGet repository for various reasons,[object Object],Continuous package integration,[object Object],NuGet is a package manager,[object Object],[object Object],Conclusion,[object Object]
Thank you!,[object Object],Any questions?,[object Object],http://blog.maartenballiauw.be ,[object Object],@maartenballiauw ,[object Object],http://www.xavierdecoster.com,[object Object],@xavierdecoster,[object Object]
Organize your chickens: NuGet for the enterprise
1 of 51

Recommended

Containerization is more than the new Virtualization: enabling separation of ... by
Containerization is more than the new Virtualization: enabling separation of ...Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Jérôme Petazzoni
9K views61 slides
Puppet Camp LA 2015: Package Managers and Puppet (Beginner) by
Puppet Camp LA 2015: Package Managers and Puppet (Beginner)Puppet Camp LA 2015: Package Managers and Puppet (Beginner)
Puppet Camp LA 2015: Package Managers and Puppet (Beginner)Puppet
2.2K views87 slides
Ganeti Web Manager: Cluster Management Made Simple by
Ganeti Web Manager: Cluster Management Made SimpleGaneti Web Manager: Cluster Management Made Simple
Ganeti Web Manager: Cluster Management Made SimpleOSCON Byrum
2.4K views46 slides
Arbeiten mit distribute, pip und virtualenv by
Arbeiten mit distribute, pip und virtualenvArbeiten mit distribute, pip und virtualenv
Arbeiten mit distribute, pip und virtualenvMarkus Zapke-Gründemann
1.4K views47 slides
Hands on Virtualization with Ganeti by
Hands on Virtualization with GanetiHands on Virtualization with Ganeti
Hands on Virtualization with GanetiOSCON Byrum
4.2K views119 slides
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special Edition by
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special EditionIntroduction to Docker, December 2014 "Tour de France" Bordeaux Special Edition
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special EditionJérôme Petazzoni
6.5K views117 slides

More Related Content

What's hot

Containers, Docker, and Security: State Of The Union (LinuxCon and ContainerC... by
Containers, Docker, and Security: State Of The Union (LinuxCon and ContainerC...Containers, Docker, and Security: State Of The Union (LinuxCon and ContainerC...
Containers, Docker, and Security: State Of The Union (LinuxCon and ContainerC...Jérôme Petazzoni
7.4K views38 slides
Docker and Puppet — Puppet Camp L.A. — SCALE12X by
Docker and Puppet — Puppet Camp L.A. — SCALE12XDocker and Puppet — Puppet Camp L.A. — SCALE12X
Docker and Puppet — Puppet Camp L.A. — SCALE12XJérôme Petazzoni
6.4K views39 slides
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3 by
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3 Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3 Puppet
1.8K views73 slides
Node js meetup by
Node js meetupNode js meetup
Node js meetupAnsuman Roy
275 views37 slides
Introduction to node.js By Ahmed Assaf by
Introduction to node.js  By Ahmed AssafIntroduction to node.js  By Ahmed Assaf
Introduction to node.js By Ahmed AssafAhmed Assaf
198 views41 slides
Dalvik Vm & Jit by
Dalvik Vm & JitDalvik Vm & Jit
Dalvik Vm & JitAnkit Somani
1.1K views24 slides

What's hot(20)

Containers, Docker, and Security: State Of The Union (LinuxCon and ContainerC... by Jérôme Petazzoni
Containers, Docker, and Security: State Of The Union (LinuxCon and ContainerC...Containers, Docker, and Security: State Of The Union (LinuxCon and ContainerC...
Containers, Docker, and Security: State Of The Union (LinuxCon and ContainerC...
Jérôme Petazzoni7.4K views
Docker and Puppet — Puppet Camp L.A. — SCALE12X by Jérôme Petazzoni
Docker and Puppet — Puppet Camp L.A. — SCALE12XDocker and Puppet — Puppet Camp L.A. — SCALE12X
Docker and Puppet — Puppet Camp L.A. — SCALE12X
Jérôme Petazzoni6.4K views
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3 by Puppet
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3 Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
Puppet1.8K views
Introduction to node.js By Ahmed Assaf by Ahmed Assaf
Introduction to node.js  By Ahmed AssafIntroduction to node.js  By Ahmed Assaf
Introduction to node.js By Ahmed Assaf
Ahmed Assaf198 views
Dalvik Vm & Jit by Ankit Somani
Dalvik Vm & JitDalvik Vm & Jit
Dalvik Vm & Jit
Ankit Somani1.1K views
Distribute cloud-environment-on-ubuntu-14-04-with-Docker by Larry Lo
Distribute cloud-environment-on-ubuntu-14-04-with-DockerDistribute cloud-environment-on-ubuntu-14-04-with-Docker
Distribute cloud-environment-on-ubuntu-14-04-with-Docker
Larry Lo506 views
Dev to Delivery with Puppet, Vagrant and AWS by Puppet
Dev to Delivery with Puppet, Vagrant and AWSDev to Delivery with Puppet, Vagrant and AWS
Dev to Delivery with Puppet, Vagrant and AWS
Puppet4.4K views
Getting started with developing Nodejs by Phil Hawksworth
Getting started with developing NodejsGetting started with developing Nodejs
Getting started with developing Nodejs
Phil Hawksworth2.6K views
Lightweight Virtualization: LXC containers & AUFS by Jérôme Petazzoni
Lightweight Virtualization: LXC containers & AUFSLightweight Virtualization: LXC containers & AUFS
Lightweight Virtualization: LXC containers & AUFS
Jérôme Petazzoni6.4K views
Docker, Linux Containers, and Security: Does It Add Up? by Jérôme Petazzoni
Docker, Linux Containers, and Security: Does It Add Up?Docker, Linux Containers, and Security: Does It Add Up?
Docker, Linux Containers, and Security: Does It Add Up?
Jérôme Petazzoni9.3K views
Puppet and Vagrant in development by Adam Culp
Puppet and Vagrant in developmentPuppet and Vagrant in development
Puppet and Vagrant in development
Adam Culp6.8K views
PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt... by Puppet
PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...
PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...
Puppet529 views
Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo... by Puppet
Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...
Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...
Puppet4.6K views
OpenStack: Inside Out by Etsuji Nakai
OpenStack: Inside OutOpenStack: Inside Out
OpenStack: Inside Out
Etsuji Nakai12.7K views
Cluster management (supercomputer) by Hary HarysMatta
Cluster management (supercomputer)Cluster management (supercomputer)
Cluster management (supercomputer)
Hary HarysMatta1.2K views
Drush in the Composer Era by Pantheon
Drush in the Composer EraDrush in the Composer Era
Drush in the Composer Era
Pantheon1.1K views
Introduction to node.js by Dinesh U
Introduction to node.jsIntroduction to node.js
Introduction to node.js
Dinesh U642 views

Viewers also liked

Implementation of community package manager by
Implementation of community package managerImplementation of community package manager
Implementation of community package managerTimur Safin
568 views29 slides
Approaching package manager by
Approaching package managerApproaching package manager
Approaching package managerTimur Safin
1K views37 slides
]project-open[ Package Manager by
]project-open[ Package Manager]project-open[ Package Manager
]project-open[ Package ManagerKlaus Hofeditz
2.6K views10 slides
Steps in Rearing Chickens by
Steps in Rearing ChickensSteps in Rearing Chickens
Steps in Rearing ChickensSLIDE TEACHER
3.2K views52 slides
Mr. Rajneesh Gupta Speaker at Knowledge Day 2015 by
Mr. Rajneesh Gupta Speaker at Knowledge Day 2015 Mr. Rajneesh Gupta Speaker at Knowledge Day 2015
Mr. Rajneesh Gupta Speaker at Knowledge Day 2015 Poultry India
1.2K views18 slides
Project on Poultry by
Project on PoultryProject on Poultry
Project on Poultryabhijeet verma
6.2K views16 slides

Viewers also liked(7)

Implementation of community package manager by Timur Safin
Implementation of community package managerImplementation of community package manager
Implementation of community package manager
Timur Safin568 views
Approaching package manager by Timur Safin
Approaching package managerApproaching package manager
Approaching package manager
Timur Safin1K views
]project-open[ Package Manager by Klaus Hofeditz
]project-open[ Package Manager]project-open[ Package Manager
]project-open[ Package Manager
Klaus Hofeditz2.6K views
Steps in Rearing Chickens by SLIDE TEACHER
Steps in Rearing ChickensSteps in Rearing Chickens
Steps in Rearing Chickens
SLIDE TEACHER3.2K views
Mr. Rajneesh Gupta Speaker at Knowledge Day 2015 by Poultry India
Mr. Rajneesh Gupta Speaker at Knowledge Day 2015 Mr. Rajneesh Gupta Speaker at Knowledge Day 2015
Mr. Rajneesh Gupta Speaker at Knowledge Day 2015
Poultry India1.2K views
]project-open[ Screenshots by Klaus Hofeditz
]project-open[ Screenshots ]project-open[ Screenshots
]project-open[ Screenshots
Klaus Hofeditz274.9K views

Similar to Organize your chickens: NuGet for the enterprise

An overview of the NuGet ecosystem - Mobel.io by
An overview of the NuGet ecosystem - Mobel.ioAn overview of the NuGet ecosystem - Mobel.io
An overview of the NuGet ecosystem - Mobel.ioMaarten Balliauw
2.3K views33 slides
NuGet beyond Hello World - DotNext Piter 2017 by
NuGet beyond Hello World - DotNext Piter 2017NuGet beyond Hello World - DotNext Piter 2017
NuGet beyond Hello World - DotNext Piter 2017Maarten Balliauw
702 views51 slides
Organize your chickens: NuGet for the enterprise by
Organize your chickens: NuGet for the enterpriseOrganize your chickens: NuGet for the enterprise
Organize your chickens: NuGet for the enterpriseMaarten Balliauw
1.6K views38 slides
Understanding NuGet implementation for Enterprises by
Understanding NuGet implementation for EnterprisesUnderstanding NuGet implementation for Enterprises
Understanding NuGet implementation for EnterprisesJ S Jodha
931 views40 slides
Nuget is easier than you think and you should be using it as both a consumer ... by
Nuget is easier than you think and you should be using it as both a consumer ...Nuget is easier than you think and you should be using it as both a consumer ...
Nuget is easier than you think and you should be using it as both a consumer ...Justin James
3K views57 slides
Hosting your own NuGet private repository by
Hosting your own NuGet private repositoryHosting your own NuGet private repository
Hosting your own NuGet private repositoryYu GUAN
261 views9 slides

Similar to Organize your chickens: NuGet for the enterprise(20)

An overview of the NuGet ecosystem - Mobel.io by Maarten Balliauw
An overview of the NuGet ecosystem - Mobel.ioAn overview of the NuGet ecosystem - Mobel.io
An overview of the NuGet ecosystem - Mobel.io
Maarten Balliauw2.3K views
NuGet beyond Hello World - DotNext Piter 2017 by Maarten Balliauw
NuGet beyond Hello World - DotNext Piter 2017NuGet beyond Hello World - DotNext Piter 2017
NuGet beyond Hello World - DotNext Piter 2017
Maarten Balliauw702 views
Organize your chickens: NuGet for the enterprise by Maarten Balliauw
Organize your chickens: NuGet for the enterpriseOrganize your chickens: NuGet for the enterprise
Organize your chickens: NuGet for the enterprise
Maarten Balliauw1.6K views
Understanding NuGet implementation for Enterprises by J S Jodha
Understanding NuGet implementation for EnterprisesUnderstanding NuGet implementation for Enterprises
Understanding NuGet implementation for Enterprises
J S Jodha931 views
Nuget is easier than you think and you should be using it as both a consumer ... by Justin James
Nuget is easier than you think and you should be using it as both a consumer ...Nuget is easier than you think and you should be using it as both a consumer ...
Nuget is easier than you think and you should be using it as both a consumer ...
Justin James3K views
Hosting your own NuGet private repository by Yu GUAN
Hosting your own NuGet private repositoryHosting your own NuGet private repository
Hosting your own NuGet private repository
Yu GUAN261 views
Organize your Chickens - NuGet for the Enterprise (UGIALTNET) by Xavier Decoster
Organize your Chickens - NuGet for the Enterprise (UGIALTNET)Organize your Chickens - NuGet for the Enterprise (UGIALTNET)
Organize your Chickens - NuGet for the Enterprise (UGIALTNET)
Xavier Decoster2K views
Intro to NuGet by wlscaudill
Intro to NuGetIntro to NuGet
Intro to NuGet
wlscaudill1.9K views
Getting Started with Azure Artifacts by Callon Campbell
Getting Started with Azure ArtifactsGetting Started with Azure Artifacts
Getting Started with Azure Artifacts
Callon Campbell1.4K views
From Dev to DevOps - Codemotion ES 2012 by Carlos Sanchez
From Dev to DevOps - Codemotion ES 2012From Dev to DevOps - Codemotion ES 2012
From Dev to DevOps - Codemotion ES 2012
Carlos Sanchez2.3K views
From Dev to DevOps by Agile Spain
From Dev to DevOpsFrom Dev to DevOps
From Dev to DevOps
Agile Spain1.8K views
From Dev to DevOps - ApacheCON NA 2011 by Carlos Sanchez
From Dev to DevOps - ApacheCON NA 2011From Dev to DevOps - ApacheCON NA 2011
From Dev to DevOps - ApacheCON NA 2011
Carlos Sanchez5.4K views
From Dev to DevOps - FOSDEM 2012 by Carlos Sanchez
From Dev to DevOps - FOSDEM 2012From Dev to DevOps - FOSDEM 2012
From Dev to DevOps - FOSDEM 2012
Carlos Sanchez6.8K views
5 minute intro to virtualenv by amenasse
5 minute intro to virtualenv5 minute intro to virtualenv
5 minute intro to virtualenv
amenasse1.7K views
From Dev to DevOps - Apache Barcamp Spain 2011 by Carlos Sanchez
From Dev to DevOps - Apache Barcamp Spain 2011From Dev to DevOps - Apache Barcamp Spain 2011
From Dev to DevOps - Apache Barcamp Spain 2011
Carlos Sanchez4.6K views
Maven 2 features by Angel Ruiz
Maven 2 featuresMaven 2 features
Maven 2 features
Angel Ruiz4.4K views
Kubernetes for the PHP developer by Paul Czarkowski
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developer
Paul Czarkowski362 views
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011) by Fabrice Bernhard
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Fabrice Bernhard3.8K views
MobileConf 2021 Slides: Let's build macOS CLI Utilities using Swift by Diego Freniche Brito
MobileConf 2021 Slides:  Let's build macOS CLI Utilities using SwiftMobileConf 2021 Slides:  Let's build macOS CLI Utilities using Swift
MobileConf 2021 Slides: Let's build macOS CLI Utilities using Swift

More from Maarten Balliauw

Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s... by
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...Maarten Balliauw
360 views64 slides
Building a friendly .NET SDK to connect to Space by
Building a friendly .NET SDK to connect to SpaceBuilding a friendly .NET SDK to connect to Space
Building a friendly .NET SDK to connect to SpaceMaarten Balliauw
182 views47 slides
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo... by
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...Maarten Balliauw
406 views52 slides
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday... by
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...Maarten Balliauw
180 views32 slides
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain... by
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...Maarten Balliauw
326 views53 slides
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m... by
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...Maarten Balliauw
280 views42 slides

More from Maarten Balliauw(20)

Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s... by Maarten Balliauw
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Maarten Balliauw360 views
Building a friendly .NET SDK to connect to Space by Maarten Balliauw
Building a friendly .NET SDK to connect to SpaceBuilding a friendly .NET SDK to connect to Space
Building a friendly .NET SDK to connect to Space
Maarten Balliauw182 views
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo... by Maarten Balliauw
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Maarten Balliauw406 views
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday... by Maarten Balliauw
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
Maarten Balliauw180 views
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain... by Maarten Balliauw
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
Maarten Balliauw326 views
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m... by Maarten Balliauw
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
Maarten Balliauw280 views
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se... by Maarten Balliauw
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se....NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
Maarten Balliauw290 views
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S... by Maarten Balliauw
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
Maarten Balliauw564 views
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search by Maarten Balliauw
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and SearchNDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
Maarten Balliauw958 views
Approaches for application request throttling - Cloud Developer Days Poland by Maarten Balliauw
Approaches for application request throttling - Cloud Developer Days PolandApproaches for application request throttling - Cloud Developer Days Poland
Approaches for application request throttling - Cloud Developer Days Poland
Maarten Balliauw1.1K views
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve... by Maarten Balliauw
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
Maarten Balliauw1.1K views
Approaches for application request throttling - dotNetCologne by Maarten Balliauw
Approaches for application request throttling - dotNetCologneApproaches for application request throttling - dotNetCologne
Approaches for application request throttling - dotNetCologne
Maarten Balliauw246 views
CodeStock - Exploring .NET memory management - a trip down memory lane by Maarten Balliauw
CodeStock - Exploring .NET memory management - a trip down memory laneCodeStock - Exploring .NET memory management - a trip down memory lane
CodeStock - Exploring .NET memory management - a trip down memory lane
Maarten Balliauw1.9K views
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain... by Maarten Balliauw
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
Maarten Balliauw1.2K views
ConFoo Montreal - Approaches for application request throttling by Maarten Balliauw
ConFoo Montreal - Approaches for application request throttlingConFoo Montreal - Approaches for application request throttling
ConFoo Montreal - Approaches for application request throttling
Maarten Balliauw1.2K views
Microservices for building an IDE – The innards of JetBrains Rider - TechDays... by Maarten Balliauw
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Maarten Balliauw10.5K views
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory... by Maarten Balliauw
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
Maarten Balliauw1.1K views
DotNetFest - Let’s refresh our memory! Memory management in .NET by Maarten Balliauw
DotNetFest - Let’s refresh our memory! Memory management in .NETDotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NET
Maarten Balliauw480 views
VISUG - Approaches for application request throttling by Maarten Balliauw
VISUG - Approaches for application request throttlingVISUG - Approaches for application request throttling
VISUG - Approaches for application request throttling
Maarten Balliauw817 views
What is going on - Application diagnostics on Azure - TechDays Finland by Maarten Balliauw
What is going on - Application diagnostics on Azure - TechDays FinlandWhat is going on - Application diagnostics on Azure - TechDays Finland
What is going on - Application diagnostics on Azure - TechDays Finland
Maarten Balliauw746 views

Recently uploaded

GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...James Anderson
156 views32 slides
Digital Personal Data Protection (DPDP) Practical Approach For CISOs by
Digital Personal Data Protection (DPDP) Practical Approach For CISOsDigital Personal Data Protection (DPDP) Practical Approach For CISOs
Digital Personal Data Protection (DPDP) Practical Approach For CISOsPriyanka Aash
153 views59 slides
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... by
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...ShapeBlue
158 views20 slides
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineShapeBlue
181 views19 slides
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue by
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueShapeBlue
94 views13 slides
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue by
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueShapeBlue
163 views54 slides

Recently uploaded(20)

GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson156 views
Digital Personal Data Protection (DPDP) Practical Approach For CISOs by Priyanka Aash
Digital Personal Data Protection (DPDP) Practical Approach For CISOsDigital Personal Data Protection (DPDP) Practical Approach For CISOs
Digital Personal Data Protection (DPDP) Practical Approach For CISOs
Priyanka Aash153 views
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... by ShapeBlue
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
ShapeBlue158 views
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue181 views
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue by ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
ShapeBlue94 views
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue by ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
ShapeBlue163 views
Future of AR - Facebook Presentation by Rob McCarty
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
Rob McCarty62 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software385 views
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue138 views
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive by Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc160 views
DRBD Deep Dive - Philipp Reisner - LINBIT by ShapeBlue
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBIT
ShapeBlue140 views
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue by ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue222 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue154 views
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by ShapeBlue
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
ShapeBlue132 views
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool by ShapeBlue
Extending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPoolExtending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPool
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool
ShapeBlue84 views
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ by ShapeBlue
Confidence in CloudStack - Aron Wagner, Nathan Gleason - AmericConfidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
ShapeBlue88 views
The Role of Patterns in the Era of Large Language Models by Yunyao Li
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language Models
Yunyao Li80 views
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue179 views

Organize your chickens: NuGet for the enterprise

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 39.
  • 40.
  • 41.
  • 42.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.

Editor's Notes

  1. Maarten
  2. Maarten
  3. Xavier
  4. Xavier
  5. Xavier
  6. XavierMaarten
  7. Maarten
  8. NuGet Install-PackageWhen you use NuGet to install a package, it copies the library files to your solution and automatically updates your project (add references, change config files, etc). NuGet Uninstall-PackageIf you remove a package, NuGet reverses whatever changes it made so that no clutter is left.
  9. Xavier: Terugverwijzen naar “Marketing versioning”
  10. Xavier
  11. Maarten
  12. Maarten
  13. Maarten
  14. XavierStart with empty MVC template + addNuGet.ServerpkgRun siteDrop pkgs in packages folderRefresh browserFeed toevoegen in VS & show pkgs
  15. Xavier
  16. Maarten
  17. MaartenInloggen en feed aanmakenPackage pushen vanuit NPEFeed toevoegen aan VSOp MyGet feed security instellenPackage installen in VS en tonen dat er basic auth bijkomtPackage vanNuGet toevoegen op MyGet en tonen dat je alle dependencies kan meepakken, mirroring, … en dat je ook gewoon van uw packages.config kan toevoegen
  18. Xavier
  19. Xavier
  20. Xavier
  21. Maarten
  22. Maarten
  23. Xavier- Het feit dat NuGet.org geen garanties biedt op content- Wat als mensen packages verwijderen? BUILD breaks, DEVS unhappy again
  24. Maarten -> Xavier
  25. Xavier
  26. Xavier
  27. Xavier
  28. Maarten
  29. Maarten
  30. TODO Scaffolding? Toevoegen van functies?Eventueel de NuGet.exe plugins ook nog tonen?
  31. Maarten
  32. Maarten
  33. Xavier
  34. Xavier
  35. Maarten
  36. XavierMaartenXavierMaarten