Pragmatic Project Automation: How To Build, Deploy, And Monitor Java Apps (Pragmatic Starter Kit) (英語) ペーパーバック – 2004/7/28
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
Forget wizards, you need a slave--someone to do your repetitive, tedious and boring tasks, without complaint and without pay, so you'll have more time to design and write exciting code. Indeed, that's what computers are for. You can enlist your own computer to automate all of your project's repetitive tasks, ranging from individual builds and running unit tests through to full product release, customer deployment, and monitoring the system.Many teams try to do these tasks by hand. That's usually a really bad idea: people just aren't as good at repetitive tasks as machines. You run the risk of doing it differently the one time it matters, on one machine but not another, or doing it just plain wrong. But the computer can do these tasks for you the same way, time after time, without bothering you. You can transform these labor-intensive, boring and potentially risky chores into automatic, background processes that just work.In this eagerly anticipated book, you'll find a variety of popular, open-source tools to help automate your project. With this book, you will learn:
- 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.
- Tricks and tips from the masters (do you know how to have your cell phone tell you that your build just failed?)
Mike Clark is an author, speaker, consultant, and most importantly, he's a programmer. He is co-author of Bitter EJB (Manning), editor of the JUnit FAQ, and frequent speaker at software development conferences. Mike has been crafting software professionally since 1992 in the fields of aerospace, telecommunications, financial services, and the Internet. In addition to helping develop commercial software tools, Mike is the creator of several popular open-source tools including JUnitPerf and JDepend.
"Pragmatic Project Automation", the third book in the Pragmatic Programmers' Starter Kit series, authored by Mike Clark, is an invaluable asset for automating the grunt work of your Java development projects and raising your standards regarding quality, lead times in bug fixing, and eventually, the motivation of your whole team.
I read the book over a weekend in two sittings and enjoyed every minute of it. Mike has put together a series of high quality tutorials for setting up a repeatable build process using Ant, scheduling the build process using shell scripts, cron/at, and eventually CruiseControl, while keeping in the spirit of pragmatic thinking. He then continues by showing how to automate your release process and software deployment -- with both simple shell scripts and an open source graphical installer tool. To finish, he talks about different techniques for monitoring your software for errors.
I honestly couldn't find anything to complain about this book -- except that I wouldn't have minded reading another 150 pages of it.
The end result should be a process where a large number of human errors during deployment would be caught or avoided, gaining better confidence in what has been released.
Technologies used in this book are: Java, Ant, CruiseControl, scripting, JUnit. There is talk of Maven, but I guess that it was not yet as prominent in 2004 as it is today. The same techniques can easily be applied to .NET, PHP, Python or any other development environment.
Since most examples assume a website for a project, I wish that there would be a section on how a client-server app with a database would fit this model.
One thing that I find awkward is the choice of Version Control, it is still CVS. This book was published in 2004, when SVN has already showed its superiority over CVS.
This book does contain everything one need to know to start using project automation at your shop. I would recommend a place on developer's bookshelf for this book.
Wonder how to send a HTML Email without creating your own CSS?
Tidbits like this make this book worth it. If you're not using CruiseControl yet, you should definately consider it. Then pair it with CheckStyle!