Free Book Online
Book Continuous Integration: Improving Software Quality and Reducing Risk (Martin Fowler Signature Books)


Continuous Integration: Improving Software Quality and Reducing Risk (Martin Fowler Signature Books)

3.2 (3445)

Log in to rate this item

    Available in PDF - DJVU Format | Continuous Integration: Improving Software Quality and Reducing Risk (Martin Fowler Signature Books).pdf | Language: ENGLISH
    Paul M. Duvall(Author) Steve Matyas(Author) Andrew Glover(Author)

    Book details

For any software developer who has spent days in “integration hell,” cobbling together myriad software components, Continuous Integration: Improving Software Quality and Reducing Risk illustrates how to transform integration from a necessary evil into an everyday part of the development process. The key, as the authors show, is to integrate regularly and often using continuous integration (CI) practices and techniques.


The authors first examine the concept of CI and its practices from the ground up and then move on to explore other effective processes performed by CI systems, such as database integration, testing, inspection, deployment, and feedback. Through more than forty CI-related practices using application examples in different languages, readers learn that CI leads to more rapid software development, produces deployable software at every step in the development lifecycle, and reduces the time between defect introduction and detection, saving time and lowering costs. With successful implementation of CI, developers reduce risks and repetitive manual processes, and teams receive better project visibility.


The book covers

  • How to make integration a “non-event” on your software development projects
  • How to reduce the amount of repetitive processes you perform when building your software
  • Practices and techniques for using CI effectively with your teams
  • Reducing the risks of late defect discovery, low-quality software, lack of visibility, and lack of deployable software
  • Assessments of different CI servers and related tools on the market

The book’s companion Web site,, provides updates and code examples.


2.2 (11894)
  • Pdf

*An electronic version of a printed book that can be read on a computer or handheld device designed specifically for this purpose.

Formats for this Ebook

Required Software Any PDF Reader, Apple Preview
Supported Devices Windows PC/PocketPC, Mac OS, Linux OS, Apple iPhone/iPod Touch.
# of Devices Unlimited
Flowing Text / Pages Pages
Printable? Yes

Book details

Read online or download a free book: Continuous Integration: Improving Software Quality and Reducing Risk (Martin Fowler Signature Books)


Review Text

  • By Thing with a hook on 11 August 2007

    Continuous Integration refers to the practice of automating the build, testing and deployment of your software, so that producing a finished executable (and the related artifacts) can be done at the touch of a button, and is ideally carried out several times a day.If this seems like a nice to have feature of your own development, but less of a core practice when compared to version control and comprehensive tests (both of which are requirements for doing CI), this book does a pretty good job of advocating CI as being just as important.First, the book introduces the core practices of CI (regular builds, tests, and deployment), then goes on to demonstrate how it facilitates other, more advanced practices, which gain value when automated, such as enforcing code style, and recording code metrics.It does not assume any particular platform, although most of the code uses Java and C# (and associated XML configuration). As a result, it will appeal most to those who want general guidance about why CI is a good idea, what to put under CI, how often to integrate, how long to allow the build to take, what to do if builds are too slow, etc. There's clearly no one-size-fits-all answer to this and this not a step-by-step tutorial book, so you'll need to adapt the code samples given in this book for your own ends.Therefore, if you're completely new to the idea of CI, then maybe you might want to check out Mike Clark's Pragmatic Project Automation first, which covers a lot of the same ground as the first part of this book, but goes into a lot more detail about the mechanics of using Ant and JUnit with Cruise Control.Apart from being more language agnostic, what takes this book beyond the Pragmatic tome is the second part, which demonstrates the more advanced processes that CI makes possible: including a chapter on how to integrate databases into CI, which touches on some cultural issues (e.g. the DBA being separate from the rest of the coding team) and providing sandboxes for each developer. Additionally, there's material on how to include reporting and analysis, e.g. code duplication, code coverage and static analysis tools such as Java's FindBugs.It's also a quick and easy read (less than 300 pages), while still having a pretty wide purview. I don't think this is a subject that would benefit from an enormous tome, and you'll still come away with a much clearer idea of your project's automation and scheduling needs, although you might have to do a bit of digging in online documentation of the various tools mentioned in the book to find your exact solution.The only bad thing I have to say about this book is that there are some very brief developer dialogues sprinkled throughout, used as examples to highlight suboptimal practices. As ever, these are cringe-inducing and artificial.Out of the core agile practices of unit testing, version control, and project automation, the latter has the least amount of material available to read. Fortunately, this is a readable, persuasive and helpful book for curing the big bang integration blues.

  • By toni on 28 July 2017

    Good book, just a bit too repetitive for my personal taste. It feels like they've stretched 5 sentences into 200 pages, which is only good if you are reading the book on and off with a few weeks / months in between, but not if you plan to sit and read it in one go.

  • By AView on 23 May 2017

    Interesting and educational. Pretty much platform , which is what I was looking for.

  • By Ian Glover on 7 April 2010

    It's short and reasonably readable so you can bomb through it quite quickly. If you haven't done anything to do with CI and don't know what it is or what it can do then it's a reasonable introduction. If you've done much then it's a bit basic and shallow. From our point of view it is a little naive in that there's an implicit assumption of being early in the project lifecycle, with no discussion on fitting this onto existing projects either from the point of view of technical challenges applying tests or political challenges persuading people it's worthwhile. It is also rather naively optimistic about the benefits of static analysis and code metrics (doesn't seem to believe there's such a thing as a false positive).

  • By dcw803 on 5 November 2015

    Depressingly, I found this book virtually useless. I'm totally new to CI, an experienced C/Perl/C++/Ruby programmer who loves version control, but I'm not into Java/Ant/.Net. I bought this book wanting to learn about CI and - especailly - how to do it. After reading this book, I knew very little more than when I started. All the examples are Java or .Net focussed, Ant XML files feature heavily, and there's no tutorial coverage of how to set up - from scratch - any particular CI tool, and get some small project up and running with CI, make changes, commit them, see iCI report breakage, etc. I guess I wanted "CI: Up and Running" in the O'Reilly mould. If you love Java, breathe Antfiles, and have an uncritical attitude to automated code inspection, this book may be for you. Otherwise, not.

  • By Mr. R. Redpath on 23 June 2014

    Fantastic guide to moving to a continuous integration workflow, without being prescriptive or relying on outdating tooling. Highly recommended for anyone looking to move to CI - don't worry about the fact that the book's a bit older, it's as relevant now as it was then.

  • By Morten Frank on 13 September 2010

    This is a great book to begin with if you have to start implementing good CI practices.

  • Name:
    The message text*: