[ale] O'Reilly Book Review: Pragmatic Project Automation

Barry Hawkins barry at alltc.com
Sun Oct 31 00:21:04 EDT 2004


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Michael D. Hirsch wrote:
| Title: Pragmatic Project Automation
|        How to Build, Deploy, and Monitor Java Applications
| Author: Mike Clark
|
| Pages: 176
|
| ISBN: 0-9745140-3-9
|
| http://www.pragmaticprogrammer.com/starter_kit/auto/index.html
|
| One of the perks of being an ALE member is getting books from O'Reilly
| books in exchange for writing a review of the book.  AFAIK, I am the
| first ALE member to take advantage of this great opportunity.  I chose
| to read and review "Pragmatic Project Automation: How to Build, Deploy,
| and Monitor Java Applications" by Mike Clark.
|
| "Pragmatic Project Automation" is actually published by the "Pragmatic
| Programmers" Andy Hunt and Dave Thomas.  They are the authors of "The
| Pragmatic Programmer".  If you haven't read this book, and are a
| programmer, I recommend it very highly.  It provides the sort of
| wisdom only years of practical experience can provide.
|
| I read and greatly enjoyed the "Pragmatic Programmer," so when I heard
| they were putting out a new series of pragmatic books, I couldn't wait
| to read them.  "Pragmatic Project Automation" is the not the first of
| the books, but it is the first that I've read.
|
| "Pragmatic Project Automation" is all about how to automate the tasks
| associated with building, testing, and deploying your application.  The
| assumption is that your project is a Java project, and all the tools
| are based around that.  Most of the automation is done with Ant, an
| automation tool written in Java and primarily used for building Java
| projects.  Since I do most of my work in java and ant, this is right
| down my alley.
|
| "Pragmatic Project Automation" is one of the "Pragmatic Starter Kit"
| series of books.  The words "Starter Kit" should be taken seriously.
| If you are acting as build master for your first project, this is a
| great book.  It will have you up and running your one-step builds in no
| time.  It provides numerous "best practices" for running automatic
| builds, unit tests, and deployment.  Unlike the original "Pragmatic
| Programmer," which was a collection of generally good ideas and
| practices to follow, the Pragmatic Starter Kits are specific recipes to
| follow for good results.
|
| The book assumes that you are using Java; the ideas behind the
| practices are universal and can be applied to any kind of project, but
| the specific advice is for Java only.  The specific tools recommended
| by the book are Ant for scripting, CVS for version control, and Cruise
| Control for scheduling.  Obviously, other tools can be used instead,
| but the recipes in the book will no longer work.  The ideas remain valid,
| however.
|
| I wish this book had been around 5 years ago when I first started
| building Java projects.  As it is, I had to learn much of this by trial
| and error.  Most of it is just simple, good sense, like having all your
| source in version control and having a script to check out your code
| and build the finished application.  But like all good sense, it is not
| as obvious and wide spread as it should be.  Every project I've been on
| could have used a good dose of pragmatic project automation.
|
| Though most of the book was already familiar to me, I did learn several
| things. One of the great ideas was to make build failures publically
| obvious through the use of lava lamps! If the build, or build tests,
| failed, the suggestion is to turn on a red lava lamp which is in a
| publically visible location.  Ant does not actually have a lava lamp
| task, so they cleverly provide instructions on automating the lava lamp
| with the use of an X10 lamp module.  When the build succeeds again, turn
| off the red lamp and turn on a green one.  I haven't yet implemented
| this, but I'd like to.
|
| Using ant for builds and CVS for version control is pretty standard,
| nowadays.  I think most projects do this or something equivalent (though
| the statistics on this show that statement to be hopelessly
| optimistic). This book does move on to a more advanced, and less
| standard tool.  They recommend performing builds automatically whenever
| code is checked in, and their tool of choice is Cruise Control.
|
| They provide nice recipes for setting up and running Cruise Control.
| In my job, inspired by the book, we decided to try it and found it
| quite simple to set up and use.  It requires a little more
| infrastructure than, say, CVS in that it runs inside a java container
| like Tomcat, but if you are a Java shop you probably already know how
| to manage Tomcat.  If you don't, maybe it is time to learn.
|
| If you are a new build master on a Java project, read this book
| immediately.  Even if you've been doing it for a while, you probably
| won't be wasting your time if you read it.  The book is well written
| and accurate.  It has a nice style that moves along nicely.  At 176
| pages it is not a very long read, a welcome change in computer books.
| The author tells you what he has to say, then shuts up--there's no
| padding here.
|
| All in all, a good book.  I'm glad I read it.  I wish I'd read it 5
| years ago.
|
| Michael Hirsch
| _______________________________________________
| Ale mailing list
| Ale at ale.org
| http://www.ale.org/mailman/listinfo/ale
|
List,
~    All four existing Pragmatic Programmer books are a core part of my
library.  The second edition of their "Programming Ruby"[0] book is on
its way to me right now.  If you are a programmer, and you take pride in
what you do, these books will make your work life better.
~    I first heard Dave speak about a year ago at an Atlanta Java User
Group (AJUG)[1] meeting, and was fairly amazed.  I also attended most of
Dave Thomas' presentations at the Atlanta Java Software Symposium a
couple of weeks ago.  He speaks at AJUG periodically; keep an eye on the
monthly meetings to see when you might be able to catch him.  Andy Hunt
was the keynote speaker for the first annual AJUG DevCon this year, and
he is also a pleasure to hear.
~   And, of course, the non-disclaimer to ward off unneeded replies: I am
not affiliated with the Pragmatic Programmers.  I should be so lucky.

[0] - http://www.pragmaticprogrammer.com/titles/ruby/
[1] - http://www.ajug.org

Sincerely,
- --
Barry Hawkins
All Things Computed
site: www.alltc.com
weblog: www.yepthatsme.com

Registered Linux User #368650
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFBhGf97bZ6kUftWZwRAnn9AJ9EHfzqCIu6I8cU0kz7guwP2UGi0gCg2dR6
kZK0L3gqFqaWqa78fb2uTVw=
=UBHr
-----END PGP SIGNATURE-----



More information about the Ale mailing list