Originally posted by nobu taku:
-manually copied to staging, tested, and after it works checked into cvs
or
-once working in development, checked in, pulled onto staging, tested.
I suppose the answer to this is tied up with general development methodology questions, but for agile development, the answer is much closer to the second one. What we do (and everyone's process is a bit different, I'm sure)
Write tests Write code to make tests pass Check in code and tests Automated build process tags CVS with a build number, checks out code and tests on integration machine using that tag,
builds an installation package (tarball, InstallShield installer, etc)
Build process then installs this package and runs all tests Integration test reports come back in email Fix failures (if any), check back in, wait for automated build
how is code moved from staging to production. cvs or tar files?
If all tests pass on integration machine, then you know that building an install package from a specific tag in CVS produces a releaseable application; you use the same build script to produce the installable software and you send it off to production.
A book that actually describes a process very much like this in a usable, hands-on way, is Mike Clark's
PRagmatic Project Automation. It got some
excellent reviews here at the Ranch.
BTW, i have your book 'jess in action'. very interesting and clearly written. it was nice to read something other than the usual 'monkey code to a database'. it got me excited about rule based systems and reminded me why i majored in computer science.
Thanks! Glad you enjoyed it!