SlideShare ist ein Scribd-Unternehmen logo
1 von 10
NuGet package management done right
Consolidating NuGet package management via Nexus Repository Manager
Mario Majčica
• .Net development for 10+ years
• Busy with ALM and related DevOps practices for the past 5 years
• Focused mostly on Microsoft tooling, especially on TFS
• Live in The Netherlands since 2010
About me:
Introduction
Difficulties in
implementing
the best
practices
Getting
NuGet to
work
Integrating the package restore with the build
Changes in the way Automatic Package Restore works
No clear guidelines and changes in tooling (internal repository)
Setup
complexity
Build servers behind proxy (special accounts and permissions necessary)
Customization of build tasks
Unclear documentation
Simply No
Time to
implement
No PBI’s on the board in regard to application infrastructure setup
Apparent “no business value”
Feeling that there is no need to
A plan for
regaining
the control
Consolidate Get information about the current processes and practices
Discover if custom components are built by teams
Select a repository management strategy
Comply to security policies
Educate Establish the guidelines for package usage and creation
Help teams in discovering components that qualify for packaging
Document most common operations (at example package restore in build,
creation of packages, versioning, etc.)
Maintain Keep the repositories under control
Ensure the availability and reliability
Evolve the documentation
Why Nexus
Repository
Manager?
Free OSS version
Easy to setup
Integration with LDAP
Flexible management of repositories
Types of
repository
Proxy
repository
Proxy toward NuGet.org
Reduces duplicate downloads
Improves speed
Repository Health Check available
Overcomes internet access issues
Hosted
repository
Local repository for private packages
Multiple instances are possible based on your strategy
Replication via Smart Proxy
Group
repository
Grouping multiple repositories under a single feed
Simplifies client configuration
Eases the maintenance
Additional
features
Repository Health Check
IQ Policies
Security
Plugins
Any Questions?
NuGet Package Management Done Right

Weitere ähnliche Inhalte

Ähnlich wie NuGet Package Management Done Right

Dev Dives October_Final.pdf
Dev Dives October_Final.pdfDev Dives October_Final.pdf
Dev Dives October_Final.pdfAndreeaTom
 
5 steps to get started with effective content governance strategy and how Off...
5 steps to get started with effective content governance strategy and how Off...5 steps to get started with effective content governance strategy and how Off...
5 steps to get started with effective content governance strategy and how Off...Netwoven Inc.
 
Agile @ Siteimprove - presentation at Scrum Day Denmark 2018
Agile @ Siteimprove - presentation at Scrum Day Denmark 2018Agile @ Siteimprove - presentation at Scrum Day Denmark 2018
Agile @ Siteimprove - presentation at Scrum Day Denmark 2018Mikkel Toudal Kristiansen
 
Beyond the Book and the Class: Using DITA for Training & Support
Beyond the Book and the Class: Using DITA for Training & SupportBeyond the Book and the Class: Using DITA for Training & Support
Beyond the Book and the Class: Using DITA for Training & SupportLasselle-Ramsay
 
Lessons Learned Model for Projects Supported by Web 2.0 Tools: a Mixed Method...
Lessons Learned Model for Projects Supported by Web 2.0 Tools: a Mixed Method...Lessons Learned Model for Projects Supported by Web 2.0 Tools: a Mixed Method...
Lessons Learned Model for Projects Supported by Web 2.0 Tools: a Mixed Method...Marcirio Chaves
 
Usa prácticas de integración continua y sobrevive para luchar otro día.
 Usa prácticas de integración continua y sobrevive para luchar otro día. Usa prácticas de integración continua y sobrevive para luchar otro día.
Usa prácticas de integración continua y sobrevive para luchar otro día.Software Guru
 
Collab365 Global Conference 1 Rolling out Microsoft Teams for collaboration i...
Collab365 Global Conference 1 Rolling out Microsoft Teams for collaboration i...Collab365 Global Conference 1 Rolling out Microsoft Teams for collaboration i...
Collab365 Global Conference 1 Rolling out Microsoft Teams for collaboration i...Chirag Patel
 
Preparing faculty for change in learning management systems
Preparing faculty for change in learning management systemsPreparing faculty for change in learning management systems
Preparing faculty for change in learning management systemsBrett Creech
 
Improving editors' lives with Neos CMS
Improving editors' lives with Neos CMSImproving editors' lives with Neos CMS
Improving editors' lives with Neos CMSSebastian Helzle
 
Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?Chandler Anderson
 
When Management Asks You: “Do You Accept Agile as Your Lord and Savior?"
When Management Asks You: “Do You Accept Agile as Your Lord and Savior?"When Management Asks You: “Do You Accept Agile as Your Lord and Savior?"
When Management Asks You: “Do You Accept Agile as Your Lord and Savior?"admford
 
Folder structure & setup dev environment
Folder structure & setup dev environmentFolder structure & setup dev environment
Folder structure & setup dev environmentThai Lam Ha
 
Fedrigoni smart working
Fedrigoni smart workingFedrigoni smart working
Fedrigoni smart workingFedrigoni SpA
 
How to create a test strategy.pptx
How to create a test strategy.pptxHow to create a test strategy.pptx
How to create a test strategy.pptxtmbekwa756
 
Ford Agile Framework
Ford Agile FrameworkFord Agile Framework
Ford Agile FrameworkNisreen Salka
 
Microsoft teams role specific guide
Microsoft teams role specific guideMicrosoft teams role specific guide
Microsoft teams role specific guideShmuel Mishali
 
Moving file shares to ibm file net p8 summary
Moving file shares to ibm file net p8 summaryMoving file shares to ibm file net p8 summary
Moving file shares to ibm file net p8 summaryDavid Champeau
 

Ähnlich wie NuGet Package Management Done Right (20)

Dev Dives October_Final.pdf
Dev Dives October_Final.pdfDev Dives October_Final.pdf
Dev Dives October_Final.pdf
 
5 steps to get started with effective content governance strategy and how Off...
5 steps to get started with effective content governance strategy and how Off...5 steps to get started with effective content governance strategy and how Off...
5 steps to get started with effective content governance strategy and how Off...
 
Agile @ Siteimprove - presentation at Scrum Day Denmark 2018
Agile @ Siteimprove - presentation at Scrum Day Denmark 2018Agile @ Siteimprove - presentation at Scrum Day Denmark 2018
Agile @ Siteimprove - presentation at Scrum Day Denmark 2018
 
Beyond the Book and the Class: Using DITA for Training & Support
Beyond the Book and the Class: Using DITA for Training & SupportBeyond the Book and the Class: Using DITA for Training & Support
Beyond the Book and the Class: Using DITA for Training & Support
 
Lessons Learned Model for Projects Supported by Web 2.0 Tools: a Mixed Method...
Lessons Learned Model for Projects Supported by Web 2.0 Tools: a Mixed Method...Lessons Learned Model for Projects Supported by Web 2.0 Tools: a Mixed Method...
Lessons Learned Model for Projects Supported by Web 2.0 Tools: a Mixed Method...
 
Usa prácticas de integración continua y sobrevive para luchar otro día.
 Usa prácticas de integración continua y sobrevive para luchar otro día. Usa prácticas de integración continua y sobrevive para luchar otro día.
Usa prácticas de integración continua y sobrevive para luchar otro día.
 
Collab365 Global Conference 1 Rolling out Microsoft Teams for collaboration i...
Collab365 Global Conference 1 Rolling out Microsoft Teams for collaboration i...Collab365 Global Conference 1 Rolling out Microsoft Teams for collaboration i...
Collab365 Global Conference 1 Rolling out Microsoft Teams for collaboration i...
 
Preparing faculty for change in learning management systems
Preparing faculty for change in learning management systemsPreparing faculty for change in learning management systems
Preparing faculty for change in learning management systems
 
Improving editors' lives with Neos CMS
Improving editors' lives with Neos CMSImproving editors' lives with Neos CMS
Improving editors' lives with Neos CMS
 
Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?
 
Edu336 week 3 guidance
Edu336 week 3 guidanceEdu336 week 3 guidance
Edu336 week 3 guidance
 
When Management Asks You: “Do You Accept Agile as Your Lord and Savior?"
When Management Asks You: “Do You Accept Agile as Your Lord and Savior?"When Management Asks You: “Do You Accept Agile as Your Lord and Savior?"
When Management Asks You: “Do You Accept Agile as Your Lord and Savior?"
 
Folder structure & setup dev environment
Folder structure & setup dev environmentFolder structure & setup dev environment
Folder structure & setup dev environment
 
The Road to DITA
The Road to DITAThe Road to DITA
The Road to DITA
 
Fedrigoni smart working
Fedrigoni smart workingFedrigoni smart working
Fedrigoni smart working
 
How to create a test strategy.pptx
How to create a test strategy.pptxHow to create a test strategy.pptx
How to create a test strategy.pptx
 
Ford Agile Framework
Ford Agile FrameworkFord Agile Framework
Ford Agile Framework
 
Microsoft teams role specific guide
Microsoft teams role specific guideMicrosoft teams role specific guide
Microsoft teams role specific guide
 
Moving file shares to ibm file net p8 summary
Moving file shares to ibm file net p8 summaryMoving file shares to ibm file net p8 summary
Moving file shares to ibm file net p8 summary
 
Transition to XML
Transition to XMLTransition to XML
Transition to XML
 

Mehr von SeniorStoryteller

Culture Hacker: How to Herd CATTs and Inspire Rebels to Change the World! - S...
Culture Hacker: How to Herd CATTs and Inspire Rebels to Change the World! - S...Culture Hacker: How to Herd CATTs and Inspire Rebels to Change the World! - S...
Culture Hacker: How to Herd CATTs and Inspire Rebels to Change the World! - S...SeniorStoryteller
 
Where Bits & Bytes Meet Flesh and Blood - Joshua Corman
Where Bits & Bytes Meet Flesh and Blood - Joshua CormanWhere Bits & Bytes Meet Flesh and Blood - Joshua Corman
Where Bits & Bytes Meet Flesh and Blood - Joshua CormanSeniorStoryteller
 
Implementing DevOps in a Regulated Environment - DJ Schleen
Implementing DevOps in a Regulated Environment - DJ SchleenImplementing DevOps in a Regulated Environment - DJ Schleen
Implementing DevOps in a Regulated Environment - DJ SchleenSeniorStoryteller
 
Scaling Rugged DevOps to Thousands of Applications - Panel Discussion
Scaling Rugged DevOps to Thousands of Applications - Panel DiscussionScaling Rugged DevOps to Thousands of Applications - Panel Discussion
Scaling Rugged DevOps to Thousands of Applications - Panel DiscussionSeniorStoryteller
 
Making Security Agile - Oleg Gryb
Making Security Agile - Oleg GrybMaking Security Agile - Oleg Gryb
Making Security Agile - Oleg GrybSeniorStoryteller
 
What We Learned from Four Years of Sciencing the Crap Out of DevOps - Nicole ...
What We Learned from Four Years of Sciencing the Crap Out of DevOps - Nicole ...What We Learned from Four Years of Sciencing the Crap Out of DevOps - Nicole ...
What We Learned from Four Years of Sciencing the Crap Out of DevOps - Nicole ...SeniorStoryteller
 
Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed
Release Engineering & Rugged DevOps: An Intersection - J. Paul ReedRelease Engineering & Rugged DevOps: An Intersection - J. Paul Reed
Release Engineering & Rugged DevOps: An Intersection - J. Paul ReedSeniorStoryteller
 
Requirements Gathering for a Successful Rugged DevOps Implementation - Hasan ...
Requirements Gathering for a Successful Rugged DevOps Implementation - Hasan ...Requirements Gathering for a Successful Rugged DevOps Implementation - Hasan ...
Requirements Gathering for a Successful Rugged DevOps Implementation - Hasan ...SeniorStoryteller
 
Ops Happens: DevOps Beyond Deployment - Damon Edwards
Ops Happens: DevOps Beyond Deployment - Damon EdwardsOps Happens: DevOps Beyond Deployment - Damon Edwards
Ops Happens: DevOps Beyond Deployment - Damon EdwardsSeniorStoryteller
 
Building Security In - A Tale of Two Stories - Laksh Raghavan
Building Security In - A Tale of Two Stories - Laksh RaghavanBuilding Security In - A Tale of Two Stories - Laksh Raghavan
Building Security In - A Tale of Two Stories - Laksh RaghavanSeniorStoryteller
 
Breaking Bad Equilibruim - John Willis
Breaking Bad Equilibruim - John WillisBreaking Bad Equilibruim - John Willis
Breaking Bad Equilibruim - John WillisSeniorStoryteller
 
DevSecOps - Building Rugged Software
DevSecOps - Building Rugged SoftwareDevSecOps - Building Rugged Software
DevSecOps - Building Rugged SoftwareSeniorStoryteller
 
Hero's Tookit: Start Your Rugged DevOps Journey with Nexus, Jenkins and Docker
Hero's Tookit: Start Your Rugged DevOps Journey with Nexus, Jenkins and DockerHero's Tookit: Start Your Rugged DevOps Journey with Nexus, Jenkins and Docker
Hero's Tookit: Start Your Rugged DevOps Journey with Nexus, Jenkins and DockerSeniorStoryteller
 
The End of Security as We Know It - Shannon Lietz
The End of Security as We Know It - Shannon LietzThe End of Security as We Know It - Shannon Lietz
The End of Security as We Know It - Shannon LietzSeniorStoryteller
 
Safely Removing the Last Roadblock to Continuous Delivery
Safely Removing the Last Roadblock to Continuous DeliverySafely Removing the Last Roadblock to Continuous Delivery
Safely Removing the Last Roadblock to Continuous DeliverySeniorStoryteller
 
Software Supply Chain Automation Removes Roadblocks to Rugged DevOps
Software Supply Chain Automation Removes Roadblocks to Rugged DevOpsSoftware Supply Chain Automation Removes Roadblocks to Rugged DevOps
Software Supply Chain Automation Removes Roadblocks to Rugged DevOpsSeniorStoryteller
 
Rugged DevOps: Aligning Your Team and Your Powers for Success
Rugged DevOps: Aligning Your Team and Your Powers for SuccessRugged DevOps: Aligning Your Team and Your Powers for Success
Rugged DevOps: Aligning Your Team and Your Powers for SuccessSeniorStoryteller
 
Create Rugged Applications: Managing Your Software Supply Chain
Create Rugged Applications: Managing Your Software Supply ChainCreate Rugged Applications: Managing Your Software Supply Chain
Create Rugged Applications: Managing Your Software Supply ChainSeniorStoryteller
 
Aligning Your Team and Your Powers for Success
Aligning Your Team and Your Powers for SuccessAligning Your Team and Your Powers for Success
Aligning Your Team and Your Powers for SuccessSeniorStoryteller
 
Leveraging Nexus Repository Manager at the Heart of DevOps
Leveraging Nexus Repository Manager at the Heart of DevOpsLeveraging Nexus Repository Manager at the Heart of DevOps
Leveraging Nexus Repository Manager at the Heart of DevOpsSeniorStoryteller
 

Mehr von SeniorStoryteller (20)

Culture Hacker: How to Herd CATTs and Inspire Rebels to Change the World! - S...
Culture Hacker: How to Herd CATTs and Inspire Rebels to Change the World! - S...Culture Hacker: How to Herd CATTs and Inspire Rebels to Change the World! - S...
Culture Hacker: How to Herd CATTs and Inspire Rebels to Change the World! - S...
 
Where Bits & Bytes Meet Flesh and Blood - Joshua Corman
Where Bits & Bytes Meet Flesh and Blood - Joshua CormanWhere Bits & Bytes Meet Flesh and Blood - Joshua Corman
Where Bits & Bytes Meet Flesh and Blood - Joshua Corman
 
Implementing DevOps in a Regulated Environment - DJ Schleen
Implementing DevOps in a Regulated Environment - DJ SchleenImplementing DevOps in a Regulated Environment - DJ Schleen
Implementing DevOps in a Regulated Environment - DJ Schleen
 
Scaling Rugged DevOps to Thousands of Applications - Panel Discussion
Scaling Rugged DevOps to Thousands of Applications - Panel DiscussionScaling Rugged DevOps to Thousands of Applications - Panel Discussion
Scaling Rugged DevOps to Thousands of Applications - Panel Discussion
 
Making Security Agile - Oleg Gryb
Making Security Agile - Oleg GrybMaking Security Agile - Oleg Gryb
Making Security Agile - Oleg Gryb
 
What We Learned from Four Years of Sciencing the Crap Out of DevOps - Nicole ...
What We Learned from Four Years of Sciencing the Crap Out of DevOps - Nicole ...What We Learned from Four Years of Sciencing the Crap Out of DevOps - Nicole ...
What We Learned from Four Years of Sciencing the Crap Out of DevOps - Nicole ...
 
Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed
Release Engineering & Rugged DevOps: An Intersection - J. Paul ReedRelease Engineering & Rugged DevOps: An Intersection - J. Paul Reed
Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed
 
Requirements Gathering for a Successful Rugged DevOps Implementation - Hasan ...
Requirements Gathering for a Successful Rugged DevOps Implementation - Hasan ...Requirements Gathering for a Successful Rugged DevOps Implementation - Hasan ...
Requirements Gathering for a Successful Rugged DevOps Implementation - Hasan ...
 
Ops Happens: DevOps Beyond Deployment - Damon Edwards
Ops Happens: DevOps Beyond Deployment - Damon EdwardsOps Happens: DevOps Beyond Deployment - Damon Edwards
Ops Happens: DevOps Beyond Deployment - Damon Edwards
 
Building Security In - A Tale of Two Stories - Laksh Raghavan
Building Security In - A Tale of Two Stories - Laksh RaghavanBuilding Security In - A Tale of Two Stories - Laksh Raghavan
Building Security In - A Tale of Two Stories - Laksh Raghavan
 
Breaking Bad Equilibruim - John Willis
Breaking Bad Equilibruim - John WillisBreaking Bad Equilibruim - John Willis
Breaking Bad Equilibruim - John Willis
 
DevSecOps - Building Rugged Software
DevSecOps - Building Rugged SoftwareDevSecOps - Building Rugged Software
DevSecOps - Building Rugged Software
 
Hero's Tookit: Start Your Rugged DevOps Journey with Nexus, Jenkins and Docker
Hero's Tookit: Start Your Rugged DevOps Journey with Nexus, Jenkins and DockerHero's Tookit: Start Your Rugged DevOps Journey with Nexus, Jenkins and Docker
Hero's Tookit: Start Your Rugged DevOps Journey with Nexus, Jenkins and Docker
 
The End of Security as We Know It - Shannon Lietz
The End of Security as We Know It - Shannon LietzThe End of Security as We Know It - Shannon Lietz
The End of Security as We Know It - Shannon Lietz
 
Safely Removing the Last Roadblock to Continuous Delivery
Safely Removing the Last Roadblock to Continuous DeliverySafely Removing the Last Roadblock to Continuous Delivery
Safely Removing the Last Roadblock to Continuous Delivery
 
Software Supply Chain Automation Removes Roadblocks to Rugged DevOps
Software Supply Chain Automation Removes Roadblocks to Rugged DevOpsSoftware Supply Chain Automation Removes Roadblocks to Rugged DevOps
Software Supply Chain Automation Removes Roadblocks to Rugged DevOps
 
Rugged DevOps: Aligning Your Team and Your Powers for Success
Rugged DevOps: Aligning Your Team and Your Powers for SuccessRugged DevOps: Aligning Your Team and Your Powers for Success
Rugged DevOps: Aligning Your Team and Your Powers for Success
 
Create Rugged Applications: Managing Your Software Supply Chain
Create Rugged Applications: Managing Your Software Supply ChainCreate Rugged Applications: Managing Your Software Supply Chain
Create Rugged Applications: Managing Your Software Supply Chain
 
Aligning Your Team and Your Powers for Success
Aligning Your Team and Your Powers for SuccessAligning Your Team and Your Powers for Success
Aligning Your Team and Your Powers for Success
 
Leveraging Nexus Repository Manager at the Heart of DevOps
Leveraging Nexus Repository Manager at the Heart of DevOpsLeveraging Nexus Repository Manager at the Heart of DevOps
Leveraging Nexus Repository Manager at the Heart of DevOps
 

Kürzlich hochgeladen

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 

Kürzlich hochgeladen (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 

NuGet Package Management Done Right

  • 1. NuGet package management done right Consolidating NuGet package management via Nexus Repository Manager
  • 2. Mario Majčica • .Net development for 10+ years • Busy with ALM and related DevOps practices for the past 5 years • Focused mostly on Microsoft tooling, especially on TFS • Live in The Netherlands since 2010 About me:
  • 4. Difficulties in implementing the best practices Getting NuGet to work Integrating the package restore with the build Changes in the way Automatic Package Restore works No clear guidelines and changes in tooling (internal repository) Setup complexity Build servers behind proxy (special accounts and permissions necessary) Customization of build tasks Unclear documentation Simply No Time to implement No PBI’s on the board in regard to application infrastructure setup Apparent “no business value” Feeling that there is no need to
  • 5. A plan for regaining the control Consolidate Get information about the current processes and practices Discover if custom components are built by teams Select a repository management strategy Comply to security policies Educate Establish the guidelines for package usage and creation Help teams in discovering components that qualify for packaging Document most common operations (at example package restore in build, creation of packages, versioning, etc.) Maintain Keep the repositories under control Ensure the availability and reliability Evolve the documentation
  • 6. Why Nexus Repository Manager? Free OSS version Easy to setup Integration with LDAP Flexible management of repositories
  • 7. Types of repository Proxy repository Proxy toward NuGet.org Reduces duplicate downloads Improves speed Repository Health Check available Overcomes internet access issues Hosted repository Local repository for private packages Multiple instances are possible based on your strategy Replication via Smart Proxy Group repository Grouping multiple repositories under a single feed Simplifies client configuration Eases the maintenance

Hinweis der Redaktion

  1. Test notes and note size.
  2. Over the last several years software development has evolved in all segments, especially when it comes to making usage of binary components. .Net development ecosystem is no exception. In 2010 NuGet Gallery and package management was introduced and soon became a standard, mostly thanks to IDE integration and Microsoft adoption of it. On client side, NuGet is distributed as a Visual Studio extension. Starting with Visual Studio 2012, NuGet comes preinstalled by default. While there are many benefits to using NuGet there are still many challenges in implementing the best practices around the usage and tooling.
  3. In the past 5 years I saw systems and practices in many companies of all sizes, across The Netherlands. None of them had a well defined practices when it came to NuGet package management. Starting with the idea that packages should not be stored in the source control and considering it a good practice, following are some of the most common answers and problems developers went through. This also relates to having a local NuGet repository Some of major “excuses” impediments where the ju stification for package management went wild. You will also see that if written down, these problems seems trivial.
  4. Package Management if often underestimated. Developers are allowed to add and use packages without any control over licensing or threats. By adopting a Repository Manager you can ensure that your developers only access reliable 3rd party resources that have been approved.
  5. Three different types of repositories are available in Nexus. All of them meant to solve a specific type of challenges.