Shipwright: Application Distribution Simplified
By Kevin Falcone (jibsheet) from Philadelphia.pm
Date: Wednesday, 29 June 2011 10:00
Duration: 50 minutes
Target audience: Intermediate
Language:
Tags: packaging
You can find more information on the speaker's site:
- Talk: http://goo.gl/vAg6w
As any open source project that leverages the power of the CPAN or other
dependency rich sources knows, streamlining installation for your users
is critical. Many of our projects can requires 100+ dependencies from
CPAN plus the C libraries that they depend on. Shipwright lets you pick
specific versions of CPAN modules to include, avoiding interesting bugs
that occur when new versions of a module remove or subtly break a
feature you were relying on. You can ship relocatable binary
distributions for particular platforms or ship a vessel that includes
everything (including a known-good version of the perl interpreter) to
be built by the end user on their particular platform of choice.
Shipwright vessels are tracked in a version control system such as
subversion or git and allow you to record local tweaks to modules
required to work around an upstream bug or a required local modification
(such as a patch submitted upstream but not yet applied).
You can import your local modules on top of their requirements from
CPAN. If you need tweaks to configure or build lines in order to
accommodate your local environment, you can easily add them to a
per-dependency build script. Once you're done building your vessel, you
can ship it around as a distribution package or puppet it out to your
servers.
When you're ready to release your next version, take the existing source
repository and begin importing updated versions of your modules and new
dependencies. Test your app against new versions of libraries before
adding them to your blessed vessel for deployment. When managing a farm
of servers, be confident that every machine is using the same version of
your application and its dependencies.
More than anything else, Shipwright allows modern perl applications to
avoid the "installing half of CPAN" stigma that can frustrate and drive
away users and make sysadmins pull our their hair debugging weird
integration issues.
- Jesse Vincent
- Karsten Dahms
- Brad Lhotsky
- Dave Rolsky (autarch)
- Kevin Falcone (jibsheet)
- Todd Olson
- Todd Rinaldo (toddr)
- Nick Melnick (oZ)
- Olaf Alders (oalders)
- chromatic
- William Fishburne (Brett)
- Jess Robinson (castaway)
- Adam Prime (jsut)
- Jonathan Swartz
- jerry gay (particle)
- Dave Doyle (meraxes)
- Sterling Hanenkamp (zostay)
- Joe Kline (gizmo)
- Devin Austin (dhoss)
- Chas. Owens (cowens)
- Kartik Thakore (kthakore)
- Christopher Bottoms
- Andy Gorman (agorman)
- Tommy Stanton (tstanton)
- David Neimeyer
- Rick Bolen
- John Ellyson
- Mark A. Stratman (mstratman)
- Yanick Champoux
- gordon gvanamburg
- Andrew Grangaard (spazm)
- Michael Edmonds
- David Storrs (dstorrs)
- Kevin Zembower
- Tommy Petty













