Pragmatic Version Control
Pragmatic Unit Testing
Pragmatic Project Automation
6.25: what is Project Automation about?:
. the power of java automated with Ant, CruiseControl,
shell scripting, and JUnit
for a system that automatically
checks out your project from a vcs
(version control system),
compiles it, tests it, and reports back
with the CruiseControl RSS publisher
(how to have it call your cell phone).
There is talk of Maven, but I guess that
it was not yet as prominent in 2004 .
The same techniques can easily be applied to
.NET, PHP, Python or any other environment.
How to make your build processes
accurate, reliable, fast, and easy.
How to build complex systems
at the touch of a button.
How to build, test, and release software
automatically, with no human intervention.
Technologies and tools available for automation:
which to use and when.
. these tools have been converted to .NET
(CruiseControl.NET, NAnt, NUnit, and Log4Net),
[revision of testing book covers this too]
.NET supports many other lang's besides java .
On our last big project, I now realize that
frequent automated builds would have
saved a lot of time, which was in short supply.
Because they became so painful
we did them less frequently,
rather we should have increased the frequency.
I would consider this book an essential part of
a technical lead's toolkit.
Once the team can experience the benefits of
continuous integration and project automation,
they probably would not want to go back.