- Series: Expert's Voice in .NET
- Hardcover: 372 pages
- Publisher: Apress; 1st ed. edition (May 9, 2005)
- Language: English
- ISBN-10: 1590594851
- ISBN-13: 978-1590594858
- Product Dimensions: 7 x 1 x 10 inches
- Shipping Weight: 1.9 pounds (View shipping rates and policies)
- Average Customer Review: 7 customer reviews
- Amazon Best Sellers Rank: #3,339,483 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Expert .NET Delivery Using NAnt and CruiseControl.NET (Expert's Voice in .NET) 1st ed. Edition
Use the Amazon App to scan ISBNs and compare prices.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
"Enlightenment Now: The Case for Reason, Science, Humanism, and Progress"
Is the world really falling apart? Is the ideal of progress obsolete? Cognitive scientist and public intellectual Steven Pinker urges us to step back from the gory headlines and prophecies of doom, and instead, follow the data: In seventy-five jaw-dropping graphs, Pinker shows that life, health, prosperity, safety, peace, knowledge, and happiness are on the rise. Learn more
Customers who bought this item also bought
About the Author
Marc Holmes is one of the lucky ones he was born into a generation of home computing. His first computer, acquired at age 10, was a Commodore Vic20. This was followed up with a Commodore 64 and Holmes' first programming project: SpaceBats. He has willingly been chained to a computer since then. After studying computer science and artificial intelligence at university, Holmes has devoted his time to working and developing technology in various industries including retail, semiconductors, and media. As a developer, Holmes has written numerous systems, from WAP-based "m-commerce" applications to media management systems. Since the dotcom era, Holmes has concentrated on software design and engineering processes, following closely the introduction of the .NET platform. This currently forms the basis of his day-to-day activities. Holmes is passionate about the provision of software engineering processes as the glue that binds and industrializes software development, and he is a firm believer in software as a commodity. Currently, Holmes is the technical design authority at a global media corporation. He and the development team oversee dozens of systems from small "brochureware" sites to significant enterprise systems for human resources, customer relationship management, and logistics operations. Holmes can also be found participating in the blogosphere and in various newsgroups and discussion groups. And in his spare time, Holmes enjoys cooking, fine wine, and occasional interaction with other humans.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
I recommend this for anyone new to NAnt and CruiseControl. I caution the use of Continuous Integration. It is an excellent way to immediately identify build and integration issues; however, you have to beware of "false positives". For example, an auto-build everytime something is checked in will determine if that checkin causes a build failure with everything else that is checked in.... however, you need to do some soul-searching to determine if this is what you really want. Do you want to trap failures and correct them, or determine a development strategy ahead of time that will prevent these surprises? The continuous build isn't a bad idea, but it becomes troublesome if you are substituting that for a good development and integration plan.
I was unfamiliar with CruiseControl.NET. But ended up being impressed with how it lets you do this agile, continual integration. On the broader issue of explicating issues in code delivery, I tend to agree with a previous reviewer, Koskela. Who stated that the book doesn't give a bigger view than that of the tools. Though it certainly does that well.
Disclaimer: I got this book free as a giveaway for our .NET Developers Group. Some folks might think this could influence my opinion, but they'd be wrong.
What's cool about this book is that the author, Marc Holmes (no relation to me), approaches the process of designing a good delivery system/methodology just like designing good software: a few use cases with expected outcomes which are used as guidelines for building up the various scripts needed to get delivery tasks done. He's got a great blurb at the start of the book: "Design for delivery." That's how he approaches the tasks necessary to make an end-to-end solution for automated, reliable software delivery.
Marc uses one software product as an example through the entire book, starting out with a simple product then moving into more complicated configurations. He uses an evolutionary process to get the build and deployment scripts up and working. He starts out with a simple, rough build script which works, then refactors to demonstrate the power of the tools covered in the book.
The author covers NAnt fundamentals in very good detail, but he makes it clear the book's not a reference for any of the tools he uses. He covers features necessary only to get his job done, but that coverage is in great depth and is in very clear detail. He shows off some pretty cool stuff about NAnt, including how to wrap in third-party tools (FxCop, before its inclusion as a nant-contrib task, e.g.), then walks through some good tutorials on extending NAnt.
The book's centered around NAnt and CruiseControl.NET, but he also integrates other tools like FxCop and discusses how to use code generation tools to help solve complex issues in build files. CodeSmith is covered in detail for this task.
Two things make any automated delivery system particularly difficult: source control and database integration. Marc covers both topics in great depth in separate, detailed chapters. He starts out by laying out the end goal and what process standards should apply to the routines. He then moves forward with basic implementations wrapping Source Safe and database integration into the process.
A complete download of all the various build files, tools, and source code examples is available from Apress's website.
An important note: I think this book is applicable to cross-platform use. Sure the specific tools are NAnt and CruiseControl.NET (plus several other widgets), but many of the concepts are applicable to folks doing Java development using Ant and CruiseControl. Furthermore, I think this book pairs up terrifically with Steve Loughran's Java Development with Ant. Loughran's book was a terrific eye opener to me for specifics of laying out projects with abstracted build files, plus he hits testing, deployment, and library inclusion too. Both books together really help out folks using Ant/NAnt and CruiseControl/.NET.
This really is a terrific book, and a must-read for anyone looking to automate their build and delivery processes.