Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Automating Software Releases (Dallas/Ft. Worth Perl Mongers 2004)

3,186 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Automating Software Releases (Dallas/Ft. Worth Perl Mongers 2004)

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

×