AoAD2 Practice: Continuous Integration
This is an excerpt from The Art of Agile Development, Second Edition. Visit the Second Edition home page for additional excerpts and more!
This excerpt is copyright 2007, 2021 by James Shore and Shane Warden. Although you are welcome to share this link, do not distribute or republish the content without James Shore’s express written permission.
Continuous Integration
- Audience
- Programmers, Operations
We keep our latest code ready to release.
Most software development has a hidden delay between the team saying, “We’re done” and when it's actually ready to release. Sometimes that delay can stretch on for months. It’s the little things: getting everybody’s code to work together, writing a deploy script, pre-populating the database, and so forth.
When on-site customers are ready to release, you push a button and release.
Continuous integration is a better approach. Teams using continuous integration keep everyone’s code working together and ready to release. The ultimate goal of continuous integration is to make releasing a business decision, not a technical decision. When on-site customers are ready to release, you push a button and release. No fuss, no muss.
- Allies
- Collective Code Ownership
- Refactoring
Continuous integration is also essential for collective code ownership and refactoring. If everybody is making changes to the same code, they need a way to share their work. Continuous integration is the best way to do so.
...to continue reading, buy the book!
In this Section
- Continuous Integration
- Continuous Integration Is a Practice, Not a Tool
- Integrate many times per day
- Never break the integration build
- Keep the integration branch ready to release
- Sidebar: Deploying Versus Releasing
- The Many Flavors of Continuous Integration
- The Continuous Integration Dance
- Continuous Integration Without a CI Server
- Synchronous Versus Asynchronous Integration
- Multistage Integration Builds
- Pull Requests and Code Reviews
- Cargo Cult: The Tool
- Questions
- Prerequisites
- Indicators
- Alternatives and Experiments
- Further Reading
- Continuous Integration Is a Practice, Not a Tool
Discuss the book on the AoAD2 mailing list or Discord server. For videos and interviews regarding the book, see the book club archive.
For more excerpts from the book, see the Second Edition home page.