250 likes | 257 Views
Learn about p2, Eclipse's solution for simplifying installations and release processes. Discover the benefits of p2, how it works in action, and what's next for this open-source tool.
E N D
p2 in the Enterprise David Dodd, Emac Shen
Agenda • Old Days • p2 to the Rescue • p2 in Action • What’s Next?
Overview • Using eclipse since 2004 • 2000+ 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)
Eclipse installation • Install / Update • Java based installer • Links + Ext (200+ additional plugins) • CLI Installer • Customized Equinox Launcher • Upgrading plugins • Release • Clearcase + PDE/Build + Maven Repo old days
Pain Points • 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 old days
Overview Developers Download eBay Installer Unzip Install Launch Update eBay p2 Installer New Commit Ourselves Git Tycho Build Publish to QA repo Sync to Release repo eBay p2 Portal eBay p2 Publisher p2 to the rescue
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
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 p2 in action
eBay p2 Installer p2 in action
eBay p2 Installer Profile Actions Validation Tracking Adaptive UI Headless InstallAdvisor P2 Installer IInstallOperation InstallAdvisor InstallDialog Repository.xml Profile.xml (Local) Profile.xml (Remote) p2 in action
Demo p2 in action
eBay p2 Publisher • Publish Anything as IU • New Publish Actions • Scanning Publisher p2 in action
eBay p2 Publisher p2 Repo Geronimo Blobs … … p2.inf p2.inf p2.inf IU IU IU JDK Maven eBay p2 Publisher p2 in action
Demo p2 in action
eBay p2 Portal • High-level Site Operations • Uses provided p2 applications • 3 Actions: Publish, Mirror, Composite • Authentication & Authorization • Roll-back Capability • Extended Repository Operations p2 in action
Repository Operations Site Operations eBay p2 Portal Create Delete Create Synchronize Mirror Publish Composite Recover Roll-back Authentication Authorization History REST API p2 in action
Demo p2 in action
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
What’s Next? • Open Source • p2 Installer • p2 Portal • Online Profile Management • eBay Marketplace future
Give Feedback on the Sessions 1 Sign In: www.eclipsecon.org 2 Select Session Evaluate 3 Vote