190 likes | 287 Views
Automating software releases. brian d foy August 24, 2004 Dallas/Ft. Worth Perl Mongers sponsored by Metallect. Everyone’s problems. Software has problems Problems suck time Keep you from what’s important It’s not just the code. Automate. Repetition Dull bits Discovery Notification
E N D
Automating software releases brian d foy August 24, 2004 Dallas/Ft. Worth Perl Mongers sponsored by Metallect
Everyone’s problems • Software has problems • Problems suck time • Keep you from what’s important • It’s not just the code
Automate • Repetition • Dull bits • Discovery • Notification • Monkey work
Mechanics are easy • Mechanics are easy • Simple matter of programming • Solutions are not so easy
My problems • Many Perl modules • Forgot things • Didn’t run tests • Stale source control • POD errors
Heal thyself! • Find problems before users • Avoid embarrassment • Know on day -1 • Save time • Develop process
release(1) • Created a script • Used Perl • Started small • Got a bit ugly • Put on CPAN
Releasing is easy • Have software • Want other people to use it • Just give it to them
Oh no! • Did not test software • Missing files • Old information • People complain!
Preparing is harder • Squash bugs • Test code • Test distribution • Sync source control • Update information
Development Lifecycle • Specify • Design • Implement • Test • Accept • Release
Steps • One at a time • Requirements to move on • Check • Move on
Checking • Different • types • times • reasons • Automate it!
Distribute • Multiple uploads • Announcements • Automate it!
Computers can help • Use your computer! • Figure out • want • need • should • Script checks for it
Module::Release • Ken Williams refactored release(1) • Does the same thing • Write your own scripts • Chris Nandor • Add your own functions • Module::Release::Subversion
Module::Release 2.x • Easier • Pluggable • Shareable • Automatic • Not Perl specific
Future additions • Pre-flight • Tests • Distribution tests • Source control plugins • Upload plugins • Little language