Presentation on theme: "P2 in the Enterprise David DoddDavid Dodd, Emac ShenEmac Shen."— Presentation transcript:
p2 in the Enterprise David DoddDavid Dodd, Emac ShenEmac Shen
Agenda 2 Old Days p2 to the Rescue p2 in Action What’s Next?
Overview 3 Using eclipse since Developers world wide (US, China, India, Israel, …) Multiple IDE Solutions –Java, C++, and many more Frequent Releases Complicated installations –JVM, Maven, Server –Configuration (eclipse.ini, environment configs, setttings.xml)
Pain Points 6 old days Slow Startup (2+ minutes) p2 Hostile –Unresolved Plugins (missing dependencies) –Required using “–clean” on upgrades Un-reusable Installer Tangled Release Process Slow Installations in Remote Development Sites
p2 TO THE RESCUE!
Overview p2 to the rescue 8 Unzip Install Launch Tycho Build Publish to QA repo Sync to Release repo eBay p2 Installer eBay p2 Portal eBay p2 Publisher Ourselves Developers Git
Benefits Consistent Development Environment Configurable Through Profiles Lightening Startup –p2 Friendly. Fail Fast Intuitive Update Awesome New Installer! –Profile Based –GUI, CLI –Reusable Lean Release Process p2 to the rescue 9
p2 IN ACTION
eBay p2 Installer Fork existing p2 Installer Profile Based –Support for multiple profiles in UI –Support for local and remote profiles –Define set of repositories –Define installable units Support for non-eclipse based artifacts –New Touchpoint & Provisioning Actions Data Driven UI Enhanced Validation Tracking Support –Customized UDC with additional information 11 p2 in action
eBay p2 Portal 19 p2 in action Mirror Publish Composite Create Delete Synchronize Recover Authentication Authorization History REST API Roll-back Create Repository Operations Site Operations
Demo p2 in action 20
Lessons Learned p2 API and documentation needs work –Great docs for high level, concepts are clear –Low level is difficult to understand relationships of objects Automate everything from checkin to publish! Use Tycho to Build Use Replication for your p2 Repositories Mirror external p2 repository internally Monitor your dependencies Give friendly error messages when dependencies are not available future 22