SlideShare a Scribd company logo
Smart Repository Management
                                      With Nexus




          MMXI. Ljubljana, Slovenia
                                                   Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                               The Inception
                                    2005




                                                  Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                                         The Inception

                           Bandwidth waste and congestion
                           Depending on network and external repository up-times
                           Unsolved “hosting” and collaboration
                           Exposed to mismanaged repositories



                                                                               Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                                              The Inception

                           Laborious discovery of artifacts, plugins
                           Infrastructure maintenance hell (deploying, site publishing)
                           Non-trivial entry for new developers
                           Key-based security – who entered the office had full access



                                                                                     Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                                     Proxy Repositories

                           Pluggable “remote” transport, caching locally
                           Isolation from outer world
                           Crossing two worlds: mirrors (content) and proxies (protocol)
                           Get what you need, when you need it



                                                                                 Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                                    Hosted Repositories

                           Pluggable “local” storage
                           Simplify the needed infrastructure
                           Get all content treated same way
                           Keep your artifacts properly separated



                                                                              Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                                                       Grouping

                           “Aggregating” multiple repositories into one
                           Hiding the actual source and URL(s) of Repositories
                           Order of processing in a group is important
                           Became de facto “standard” setup



                                                                                    Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                                                             Typical Usage
                                                                 Open Source Ghetto
                                       Terracotta
                                                    Codehaus


                               Apache




                               JBoss


                                                                     Nexus

                                Dev




                                Test


                                                    Production
                                           QA                                          Precious
                                                                                      Developers
                                                                 Your Ghetto
                                                                                                      Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                               Grouping Optimizations

                           Is corollary of Grouping
                           Based on repository policy
                           Based on repository routes
                           Parallel processing
                           Or ultimate: stop using grouping! (today not quite possible)

                                                                                          Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                             Bridging and Mediation

                           Do it transparently
                           First application was to support Maven1 repositories
                           Layout changes (Maven1 – Maven2 bidi)
                           Content changes (GEM, OSGi recipes)



                                                                                     Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                                                         Indexing

                           Pluggable Index Creators (POM, Classes, OSGi, ...)
                           Incremental updating and publishing
                           De facto standard, embraced by all IDEs, MRMs...
                           Source donated to Apache Maven Project as Maven Indexer



                                                                                   Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                                                        Security

                           Integrated Apache Shiro
                           Supporting XML, LDAP, Atlassian Crowd, URL delegation...
                           Content secured using Repository Targets
                           Pluggable Realms



                                                                                 Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                             Staging and Promotion

                           Dogma of Maven is immutable releases, no recall once deployed
                           To not release incremental versions, or use temporary locations
                           Single deployment URL, just set it in organization POM
                           Notification and Automation



                                                                                    Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                                    Artifact Procurement

                           Before was laborious, error prone and difficult
                           Firewall with user extensible rules
                           Strategies: “Ask First”, “Check Later”
                           Easy integration



                                                                               Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                               Conclusions
                                What We Learned




                                                     Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                                                  Maven Fact

                           Maven is usually wrongly recognized as a “CLI build tool”,
                           but is much more than that, it’s


                                            infrastructure.

                                                                                    Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                 Refreshing Diversity – Unified!
                           Maven Artifact Repository
                           Static Sites Repository
                           Eclipse P2 Bundle Repository
                           Apache Felix OSGi Bundle Repository
                           Ruby GEM Repository
                           OSGi Recipes
                           Anything we missed?
                                                                      Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                                Why do you need it?
                           Hosts what your build outputs
                           Proxies what your build consumes
                           Bridges and mediates between different kind of repositories
                           Has motto “no content duplication” encoded in it’s DNA
                           Eases “every day routine”
                           Gives tools to implement complex workflows
                           Easy integration using REST API
                                                                                  Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                    What to proxy (outbound)?


                           Do not proxy “aggregated” repositories (information loss)
                           Do not proxy “staging” repositories (releases disappears)
                           Do not proxy snapshot repositories, unless a must




                                                                                   Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                     How to consume (inbound) – today

                           Groups in Nexus are cheap
                           Groups of groups
                           Per project groups
                           Groups per developers, CI and public



                                                                     Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                      How to consume (inbound) – future
                           Mirror of all – The typical setup since Proximity, has it’s known
                           problems, information loss
                           Mirror per Repository – The most precise control, but not
                           maintainable
                           Dynamic mirror discovery – Intelligent mirror selection and
                           proper fallback, magic on both ends, no information loss
                           HTTP Proxy – Simple maintenance, still needs user side
                           configuration, but magic happens on Nexus side, no information
                           loss
                                                                                     Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                       Repositories in POM, yes or no?


                           No doubt:

                           yes

                                                             Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                            In-house Snapshots

                                Mirko
                                                 SCM   CI       Maven                   Nx
                               Radirko




                                         Local
             Maven
                                         Repo




                                                                        Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                                Third Party Snapshots


                           “Freeze” them at least,
                           but better is to build from source




                                                                            Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                               Central Repository
                                    Facts and Stats




                                                         Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                  Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                  Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                  Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                             Questions?
                           Tamas Cservenak
                           Sonatype Nexus Lead Developer
                           http://twitter.com/cstamas




                           Thanks,
                           ~t~
                                                              Transforming Software Development

Thursday, September 22, 2011

More Related Content

PDF
Android Internals
PDF
Android for Java Developers at OSCON 2010
PDF
Android For Managers Slides
PDF
Android: A 9,000-foot Overview
PDF
Open Android
PPTX
VCOC BonFIRE presentation at FIRE Engineering Workshop 2012
PDF
Marakana Android Internals
PDF
Mee go是您的新机遇
Android Internals
Android for Java Developers at OSCON 2010
Android For Managers Slides
Android: A 9,000-foot Overview
Open Android
VCOC BonFIRE presentation at FIRE Engineering Workshop 2012
Marakana Android Internals
Mee go是您的新机遇

Viewers also liked (20)

PPTX
A "Firewall" for Bad Binaries
PPTX
Maven Nexus
PPTX
How to Combine Artifacts and Source in a Single Server
PDF
Repository Development at LC - Access 2009
PDF
Best practices for using open source software in the enterprise
PPTX
Are you remotely agile? SGFLA 2016
PPTX
Learning Maven by Example
PDF
White Paper: Concepts and Benefits of Repository Management
PPTX
.NET Standard - Under the Hood
PPTX
.NET Standard - Introduction
PPTX
Visual studio 2017
PDF
Using Jenkins XML API
PDF
Repository Management with JFrog Artifactory
PPTX
Jenkins CI presentation
PDF
Continuous Delivery with Jenkins Workflow
PPTX
Visual studio 2017 - Launch Event Keynote
PDF
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
PPTX
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
PPTX
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
PPTX
Overview of the new .NET Core and .NET Platform Standard
A "Firewall" for Bad Binaries
Maven Nexus
How to Combine Artifacts and Source in a Single Server
Repository Development at LC - Access 2009
Best practices for using open source software in the enterprise
Are you remotely agile? SGFLA 2016
Learning Maven by Example
White Paper: Concepts and Benefits of Repository Management
.NET Standard - Under the Hood
.NET Standard - Introduction
Visual studio 2017
Using Jenkins XML API
Repository Management with JFrog Artifactory
Jenkins CI presentation
Continuous Delivery with Jenkins Workflow
Visual studio 2017 - Launch Event Keynote
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
Overview of the new .NET Core and .NET Platform Standard
Ad

Similar to Smart Repository Management (openBlend 2011, Ljubljana, Slovenia) (20)

PDF
Nuxeo Open Source ECM, OW2con 11, Nov 24-25, Paris
 
PDF
Nuxeo, an open source platform for content-centric business applications
PDF
Practical SOA for the Solution Architect
PPTX
Framework
PDF
Drupal intro-short
PDF
Integrating Quality into Project Portfolio Management
PDF
Android for Java Developers
PDF
Open stack swift_essex_meetup_2012_06_21_judd_maltin
PDF
Spagic 3: OSGi Universal Middleware for an effective SOA solution
KEY
Nuxeo EP 5 2
PDF
Sapphire
PPTX
Mark Logic Information Analysis Trends Webinar
PDF
On Semantics in Onto-DIY
PDF
Updating Your Website to Drupal 7
PDF
BBC DMI Project Info for Backstage (Part 3)
PDF
Jimwebber soa
PDF
01.19.2011 AIIT InfoTalk on OpenStack
PPTX
Presentatie Cisco NetApp Proact over FlexPod
PDF
Inside Android's Dalvik VM - NEJUG Nov 2011
PPTX
What to curate? Preserving and Curating Software-Based Art
Nuxeo Open Source ECM, OW2con 11, Nov 24-25, Paris
 
Nuxeo, an open source platform for content-centric business applications
Practical SOA for the Solution Architect
Framework
Drupal intro-short
Integrating Quality into Project Portfolio Management
Android for Java Developers
Open stack swift_essex_meetup_2012_06_21_judd_maltin
Spagic 3: OSGi Universal Middleware for an effective SOA solution
Nuxeo EP 5 2
Sapphire
Mark Logic Information Analysis Trends Webinar
On Semantics in Onto-DIY
Updating Your Website to Drupal 7
BBC DMI Project Info for Backstage (Part 3)
Jimwebber soa
01.19.2011 AIIT InfoTalk on OpenStack
Presentatie Cisco NetApp Proact over FlexPod
Inside Android's Dalvik VM - NEJUG Nov 2011
What to curate? Preserving and Curating Software-Based Art
Ad

Recently uploaded (20)

PDF
How AI Agents Improve Data Accuracy and Consistency in Due Diligence.pdf
PDF
Building High-Performance Oracle Teams: Strategic Staffing for Database Manag...
PDF
DevOps & Developer Experience Summer BBQ
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
Belt and Road Supply Chain Finance Blockchain Solution
PDF
Transforming Manufacturing operations through Intelligent Integrations
PDF
Sensors and Actuators in IoT Systems using pdf
PDF
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Web Security: Login Bypass, SQLi, CSRF & XSS.pptx
PDF
Enable Enterprise-Ready Security on IBM i Systems.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
PDF
CIFDAQ's Teaching Thursday: Moving Averages Made Simple
PDF
HCSP-Presales-Campus Network Planning and Design V1.0 Training Material-Witho...
PDF
Smarter Business Operations Powered by IoT Remote Monitoring
How AI Agents Improve Data Accuracy and Consistency in Due Diligence.pdf
Building High-Performance Oracle Teams: Strategic Staffing for Database Manag...
DevOps & Developer Experience Summer BBQ
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
NewMind AI Monthly Chronicles - July 2025
Belt and Road Supply Chain Finance Blockchain Solution
Transforming Manufacturing operations through Intelligent Integrations
Sensors and Actuators in IoT Systems using pdf
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Web Security: Login Bypass, SQLi, CSRF & XSS.pptx
Enable Enterprise-Ready Security on IBM i Systems.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Chapter 3 Spatial Domain Image Processing.pdf
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
CIFDAQ's Teaching Thursday: Moving Averages Made Simple
HCSP-Presales-Campus Network Planning and Design V1.0 Training Material-Witho...
Smarter Business Operations Powered by IoT Remote Monitoring

Smart Repository Management (openBlend 2011, Ljubljana, Slovenia)

  • 1. Smart Repository Management With Nexus MMXI. Ljubljana, Slovenia Transforming Software Development Thursday, September 22, 2011
  • 2. Smart Repository Management The Inception 2005 Transforming Software Development Thursday, September 22, 2011
  • 3. Smart Repository Management The Inception Bandwidth waste and congestion Depending on network and external repository up-times Unsolved “hosting” and collaboration Exposed to mismanaged repositories Transforming Software Development Thursday, September 22, 2011
  • 4. Smart Repository Management The Inception Laborious discovery of artifacts, plugins Infrastructure maintenance hell (deploying, site publishing) Non-trivial entry for new developers Key-based security – who entered the office had full access Transforming Software Development Thursday, September 22, 2011
  • 5. Smart Repository Management Proxy Repositories Pluggable “remote” transport, caching locally Isolation from outer world Crossing two worlds: mirrors (content) and proxies (protocol) Get what you need, when you need it Transforming Software Development Thursday, September 22, 2011
  • 6. Smart Repository Management Hosted Repositories Pluggable “local” storage Simplify the needed infrastructure Get all content treated same way Keep your artifacts properly separated Transforming Software Development Thursday, September 22, 2011
  • 7. Smart Repository Management Grouping “Aggregating” multiple repositories into one Hiding the actual source and URL(s) of Repositories Order of processing in a group is important Became de facto “standard” setup Transforming Software Development Thursday, September 22, 2011
  • 8. Smart Repository Management Typical Usage Open Source Ghetto Terracotta Codehaus Apache JBoss Nexus Dev Test Production QA Precious Developers Your Ghetto Transforming Software Development Thursday, September 22, 2011
  • 9. Smart Repository Management Grouping Optimizations Is corollary of Grouping Based on repository policy Based on repository routes Parallel processing Or ultimate: stop using grouping! (today not quite possible) Transforming Software Development Thursday, September 22, 2011
  • 10. Smart Repository Management Bridging and Mediation Do it transparently First application was to support Maven1 repositories Layout changes (Maven1 – Maven2 bidi) Content changes (GEM, OSGi recipes) Transforming Software Development Thursday, September 22, 2011
  • 11. Smart Repository Management Indexing Pluggable Index Creators (POM, Classes, OSGi, ...) Incremental updating and publishing De facto standard, embraced by all IDEs, MRMs... Source donated to Apache Maven Project as Maven Indexer Transforming Software Development Thursday, September 22, 2011
  • 12. Smart Repository Management Security Integrated Apache Shiro Supporting XML, LDAP, Atlassian Crowd, URL delegation... Content secured using Repository Targets Pluggable Realms Transforming Software Development Thursday, September 22, 2011
  • 13. Smart Repository Management Staging and Promotion Dogma of Maven is immutable releases, no recall once deployed To not release incremental versions, or use temporary locations Single deployment URL, just set it in organization POM Notification and Automation Transforming Software Development Thursday, September 22, 2011
  • 14. Smart Repository Management Artifact Procurement Before was laborious, error prone and difficult Firewall with user extensible rules Strategies: “Ask First”, “Check Later” Easy integration Transforming Software Development Thursday, September 22, 2011
  • 15. Smart Repository Management Conclusions What We Learned Transforming Software Development Thursday, September 22, 2011
  • 16. Smart Repository Management Maven Fact Maven is usually wrongly recognized as a “CLI build tool”, but is much more than that, it’s infrastructure. Transforming Software Development Thursday, September 22, 2011
  • 17. Smart Repository Management Refreshing Diversity – Unified! Maven Artifact Repository Static Sites Repository Eclipse P2 Bundle Repository Apache Felix OSGi Bundle Repository Ruby GEM Repository OSGi Recipes Anything we missed? Transforming Software Development Thursday, September 22, 2011
  • 18. Smart Repository Management Why do you need it? Hosts what your build outputs Proxies what your build consumes Bridges and mediates between different kind of repositories Has motto “no content duplication” encoded in it’s DNA Eases “every day routine” Gives tools to implement complex workflows Easy integration using REST API Transforming Software Development Thursday, September 22, 2011
  • 19. Smart Repository Management What to proxy (outbound)? Do not proxy “aggregated” repositories (information loss) Do not proxy “staging” repositories (releases disappears) Do not proxy snapshot repositories, unless a must Transforming Software Development Thursday, September 22, 2011
  • 20. Smart Repository Management How to consume (inbound) – today Groups in Nexus are cheap Groups of groups Per project groups Groups per developers, CI and public Transforming Software Development Thursday, September 22, 2011
  • 21. Smart Repository Management How to consume (inbound) – future Mirror of all – The typical setup since Proximity, has it’s known problems, information loss Mirror per Repository – The most precise control, but not maintainable Dynamic mirror discovery – Intelligent mirror selection and proper fallback, magic on both ends, no information loss HTTP Proxy – Simple maintenance, still needs user side configuration, but magic happens on Nexus side, no information loss Transforming Software Development Thursday, September 22, 2011
  • 22. Smart Repository Management Repositories in POM, yes or no? No doubt: yes Transforming Software Development Thursday, September 22, 2011
  • 23. Smart Repository Management In-house Snapshots Mirko SCM CI Maven Nx Radirko Local Maven Repo Transforming Software Development Thursday, September 22, 2011
  • 24. Smart Repository Management Third Party Snapshots “Freeze” them at least, but better is to build from source Transforming Software Development Thursday, September 22, 2011
  • 25. Smart Repository Management Central Repository Facts and Stats Transforming Software Development Thursday, September 22, 2011
  • 26. Smart Repository Management Transforming Software Development Thursday, September 22, 2011
  • 27. Smart Repository Management Transforming Software Development Thursday, September 22, 2011
  • 28. Smart Repository Management Transforming Software Development Thursday, September 22, 2011
  • 29. Smart Repository Management Questions? Tamas Cservenak Sonatype Nexus Lead Developer http://twitter.com/cstamas Thanks, ~t~ Transforming Software Development Thursday, September 22, 2011